Add a few more values for receive.denyCurrentBranch
commit4cdf3c10c5eb266ef0eaf68396b6fcb536e4e6ff
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 16 Feb 2009 20:52:51 +0000 (16 21:52 +0100)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 1 Oct 2010 22:27:24 +0000 (1 23:27 +0100)
treeb5b250b544b6b8ccaa34fd2ec5bf93b459d7c635
parent8139a1ffeec5c5868d69a34b26b1458d6581e1eb
Add a few more values for receive.denyCurrentBranch

For a long time, this developer thought that Git's insistence that
pushing into the current branch is evil was completely merited.

Just for fun, the original patch tried to show people that Git is right
there, and that it causes more trouble than it does good when Git allows
you to try to update the working tree for fast-forwards, or to detach the
HEAD, depending on some config settings.

Surprisingly, the opposite was shown.

So here is the support for two new options you can give the config
variable receive.denyCurrentBranch:

'updateInstead':
Try to merge the working tree with the new tip of the branch
(which can lead to really horrible merge conflicts).

'detachInstead':
Detach the HEAD, thereby avoiding a disagreement between the
HEAD and the index (as well as the working tree), possibly
leaving the local user wondering how on earth her HEAD became
so detached.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Documentation/config.txt
builtin/receive-pack.c
t/t5516-fetch-push.sh