[PATCH 2/2] Clean up "git-branch.sh" and add remove recursive dir test cases.
From: Christian Couder <hidden>
Date: 2016-06-15 22:42:42
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- git-branch.sh | 10 ---------- t/t3210-pack-refs.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/git-branch.sh b/git-branch.sh
index bf84b30..4379a07 100755
--- a/git-branch.sh
+++ b/git-branch.sh@@ -111,16 +111,6 @@ rev=$(git-rev-parse --verify "$head") || 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
diff --git a/t/t3210-pack-refs.sh b/t/t3210-pack-refs.sh
index 193fe1f..f31e79c 100755
--- a/t/t3210-pack-refs.sh
+++ b/t/t3210-pack-refs.sh@@ -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
--
1.4.2.1.g7bc701-dirty