зеркало из https://github.com/microsoft/git.git
Clean up "git-branch.sh" and add remove recursive dir test cases.
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>
This commit is contained in:
Родитель
28bed6ea21
Коммит
14c8a681f7
|
@ -111,16 +111,6 @@ rev=$(git-rev-parse --verify "$head") || exit
|
||||||
git-check-ref-format "heads/$branchname" ||
|
git-check-ref-format "heads/$branchname" ||
|
||||||
die "we do not like '$branchname' as a branch name."
|
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=''
|
prev=''
|
||||||
if git-show-ref --verify --quiet -- "refs/heads/$branchname"
|
if git-show-ref --verify --quiet -- "refs/heads/$branchname"
|
||||||
then
|
then
|
||||||
|
|
|
@ -67,4 +67,31 @@ test_expect_success \
|
||||||
git-pack-refs &&
|
git-pack-refs &&
|
||||||
git-branch -d g'
|
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
|
test_done
|
||||||
|
|
Загрузка…
Ссылка в новой задаче