path: root/t/
diff options
authorJunio C Hamano <>2009-02-09 06:31:21 (GMT)
committerJunio C Hamano <>2009-02-11 06:26:49 (GMT)
commit747ca2455a8dd4e255358f5f96773f84259408c3 (patch)
treede51c7888f7b9bbaa2dc30aed33c66c91bac3218 /t/
parentba19a808aa871f0eb20aaeeb205e086b04b726dc (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 <>
Diffstat (limited to 't/')
1 files changed, 13 insertions, 0 deletions
diff --git a/t/ b/t/
index d6151f8..f2d5581 100755
--- a/t/
+++ b/t/
@@ -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
+ )