diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-02-09 09:31:21 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-11 09:26:49 +0300 |
commit | 747ca2455a8dd4e255358f5f96773f84259408c3 (patch) | |
tree | de51c7888f7b9bbaa2dc30aed33c66c91bac3218 /t | |
parent | ba19a808aa871f0eb20aaeeb205e086b04b726dc (diff) |
receive-pack: receive.denyDeleteCurrent
This is a companion patch to the recent 3d95d92 (receive-pack: explain
what to do when push updates the current branch, 2009-01-31).
Deleting the current branch from a remote will result in the next clone
from it not check out anything, among other things. It also is one of the
cause that makes remotes/origin/HEAD a dangling symbolic ref. This patch
still allows the traditional behaviour but with a big warning, and promises
that the default will change to 'refuse' in a future release.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t5400-send-pack.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index d6151f8854..f2d5581b12 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -190,4 +190,17 @@ test_expect_success 'pushing wildcard refspecs respects forcing' ' test "$parent_head" = "$child_head" ' +test_expect_success 'warn pushing to delete current branch' ' + rewound_push_setup && + ( + cd child && + git send-pack ../parent :refs/heads/master 2>errs + ) && + grep "warning: to refuse deleting" child/errs && + ( + cd parent && + test_must_fail git rev-parse --verify master + ) +' + test_done |