diff options
| author | Junio C Hamano <gitster@pobox.com> | 2009-02-09 00:19:46 -0800 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2009-07-29 10:15:42 -0700 | 
| commit | 375881fa6a43e21ab922b20b2061f9868ef18644 (patch) | |
| tree | 8ca63abdf8437298a4587c5bdd5c2d7a1c3a2cee /builtin-receive-pack.c | |
| parent | acd2a45b83e50c0f33b01ee74df241f1adfdff39 (diff) | |
| download | git-375881fa6a43e21ab922b20b2061f9868ef18644.tar.gz | |
Refuse deleting the current branch via push
This makes git-push refuse deleting the current branch by default.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-receive-pack.c')
| -rw-r--r-- | builtin-receive-pack.c | 30 | 
1 files changed, 12 insertions, 18 deletions
diff --git a/builtin-receive-pack.c b/builtin-receive-pack.c index b8b69dde48..db12b813ac 100644 --- a/builtin-receive-pack.c +++ b/builtin-receive-pack.c @@ -241,30 +241,24 @@ static void refuse_unconfigured_deny(void)  		error("%s", refuse_unconfigured_deny_msg[i]);  } -static char *warn_unconfigured_deny_delete_current_msg[] = { -	"Deleting the current branch can cause confusion by making the next", -	"'git clone' not check out any file.", +static char *refuse_unconfigured_deny_delete_current_msg[] = { +	"By default, deleting the current branch is denied, because the next", +	"'git clone' won't result in any file checked out, causing confusion.",  	"",  	"You can set 'receive.denyDeleteCurrent' configuration variable to", -	"'refuse' in the remote repository to disallow deleting the current", -	"branch.", +	"'warn' or 'ignore' in the remote repository to allow deleting the", +	"current branch, with or without a warning message.",  	"", -	"You can set it to 'ignore' to allow such a delete without a warning.", -	"", -	"To make this warning message less loud, you can set it to 'warn'.", -	"", -	"Note that the default will change in a future version of git", -	"to refuse deleting the current branch unless you have the", -	"configuration variable set to either 'ignore' or 'warn'." +	"To squelch this message, you can set it to 'refuse'."  }; -static void warn_unconfigured_deny_delete_current(void) +static void refuse_unconfigured_deny_delete_current(void)  {  	int i;  	for (i = 0; -	     i < ARRAY_SIZE(warn_unconfigured_deny_delete_current_msg); +	     i < ARRAY_SIZE(refuse_unconfigured_deny_delete_current_msg);  	     i++) -		warning("%s", warn_unconfigured_deny_delete_current_msg[i]); +		error("%s", refuse_unconfigured_deny_delete_current_msg[i]);  }  static const char *update(struct command *cmd) @@ -313,12 +307,12 @@ static const char *update(struct command *cmd)  			case DENY_IGNORE:  				break;  			case DENY_WARN: -			case DENY_UNCONFIGURED: -				if (deny_delete_current == DENY_UNCONFIGURED) -					warn_unconfigured_deny_delete_current();  				warning("deleting the current branch");  				break;  			case DENY_REFUSE: +			case DENY_UNCONFIGURED: +				if (deny_delete_current == DENY_UNCONFIGURED) +					refuse_unconfigured_deny_delete_current();  				error("refusing to delete the current branch: %s", name);  				return "deletion of the current branch prohibited";  			}  | 
