Clean up "git-branch.sh" and add remove recursive dir test cases.
authorChristian Couder <chriscool@tuxfamily.org>
Sun, 1 Oct 2006 12:38:18 +0000 (14:38 +0200)
committerJunio C Hamano <junkio@cox.net>
Sun, 1 Oct 2006 15:42:01 +0000 (08:42 -0700)
Now that directory recursive remove works in the core C code, we
don't need to do it in "git-branch.sh".

Also add test cases to check that directory recursive remove will
continue to work.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-branch.sh
t/t3210-pack-refs.sh
index bf84b30695fdeda5d5e18456813e0b3cc3d11275..4379a07210cf30c5d6e5abdb36722985983edb46 100755 (executable)
@@ -111,16 +111,6 @@ rev=$(git-rev-parse --verify "$head") || exit
 git-check-ref-format "heads/$branchname" ||
        die "we do not like '$branchname' as a branch name."
 
-if [ -d "$GIT_DIR/refs/heads/$branchname" ]
-then
-       for refdir in `cd "$GIT_DIR" && \
-               find "refs/heads/$branchname" -type d | sort -r`
-       do
-               rmdir "$GIT_DIR/$refdir" || \
-                   die "Could not delete '$refdir', there may still be a ref there."
-       done
-fi
-
 prev=''
 if git-show-ref --verify --quiet -- "refs/heads/$branchname"
 then
index 193fe1fb4024f7caa0b499e2b05f98d73e4acdcb..f31e79c561fd1adee699850d0e78755314c4c2ee 100755 (executable)
@@ -67,4 +67,31 @@ test_expect_success \
      git-pack-refs &&
      git-branch -d g'
 
+test_expect_failure \
+    'git branch i/j/k should barf if branch i exists' \
+    'git-branch i &&
+     git-pack-refs --prune &&
+     git-branch i/j/k'
+
+test_expect_success \
+    'test git branch k after branch k/l/m and k/lm have been deleted' \
+    'git-branch k/l &&
+     git-branch k/lm &&
+     git-branch -d k/l &&
+     git-branch k/l/m &&
+     git-branch -d k/l/m &&
+     git-branch -d k/lm &&
+     git-branch k'
+
+test_expect_success \
+    'test git branch n after some branch deletion and pruning' \
+    'git-branch n/o &&
+     git-branch n/op &&
+     git-branch -d n/o &&
+     git-branch n/o/p &&
+     git-branch -d n/op &&
+     git-pack-refs --prune &&
+     git-branch -d n/o/p &&
+     git-branch n'
+
 test_done