Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)
* maint:
  git-push: .git/remotes/ file does not require SP after colon
  git-mv: invalidate the removed path properly in cache-tree

builtin-mv.c
builtin-push.c
t/t7001-mv.sh

index 4d21d88..54dd3bf 100644 (file)
@@ -278,6 +278,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
                for (i = 0; i < deleted.nr; i++) {
                        const char *path = deleted.items[i].path;
                        remove_file_from_cache(path);
+                       cache_tree_invalidate_path(active_cache_tree, path);
                }
 
                if (active_cache_changed) {
index c43f256..f5150ed 100644 (file)
@@ -78,12 +78,12 @@ static int get_remotes_uri(const char *repo, const char *uri[MAX_URI])
                int is_refspec;
                char *s, *p;
 
-               if (!strncmp("URL: ", buffer, 5)) {
+               if (!strncmp("URL:", buffer, 4)) {
                        is_refspec = 0;
-                       s = buffer + 5;
-               } else if (!strncmp("Push: ", buffer, 6)) {
+                       s = buffer + 4;
+               } else if (!strncmp("Push:", buffer, 5)) {
                        is_refspec = 1;
-                       s = buffer + 6;
+                       s = buffer + 5;
                } else
                        continue;
 
index b7fcdb3..23a1eff 100755 (executable)
@@ -86,4 +86,23 @@ test_expect_success \
     'move into "."' \
     'git-mv path1/path2/ .'
 
+test_expect_success "Michael Cassar's test case" '
+       rm -fr .git papers partA &&
+       git init-db &&
+       mkdir -p papers/unsorted papers/all-papers partA &&
+       echo a > papers/unsorted/Thesis.pdf &&
+       echo b > partA/outline.txt &&
+       echo c > papers/unsorted/_another &&
+       git add papers partA &&
+       T1=`git write-tree` &&
+
+       git mv papers/unsorted/Thesis.pdf papers/all-papers/moo-blah.pdf &&
+
+       T=`git write-tree` &&
+       git ls-tree -r $T | grep partA/outline.txt || {
+               git ls-tree -r $T
+               (exit 1)
+       }
+'
+
 test_done