push: allow pushing new branches with --force-with-lease
commit64ac39af7020f3a8bc52d51137804ce9f46baf66
authorJohn Keeping <john@keeping.me.uk>
Tue, 26 Jul 2016 20:44:45 +0000 (26 21:44 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 26 Jul 2016 20:48:28 +0000 (26 13:48 -0700)
tree18af053411baadf7d5e040205a4377f4689b040c
parenteee98e74f928a49c310038c77026ebc04e6cf4b2
push: allow pushing new branches with --force-with-lease

If there is no upstream information for a branch, it is likely that it
is newly created and can safely be pushed under the normal fast-forward
rules.  Relax the --force-with-lease check so that we do not reject
these branches immediately but rather attempt to push them as new
branches, using the null SHA-1 as the expected value.

In fact, it is already possible to push new branches using the explicit
--force-with-lease=<branch>:<expect> syntax, so all we do here is make
this behaviour the default if no explicit "expect" value is specified.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote.c
remote.h
t/t5533-push-cas.sh