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@xxxxxxxxxxxxx> --- 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html