Re: [PATCH v2 0/3] push: allow pushing new branches with --force-with-lease
From: Junio C Hamano <hidden>
Date: 2016-07-25 22:21:35
John Keeping [off-list ref] writes:
On Mon, Jul 25, 2016 at 10:28:01AM -0700, Junio C Hamano wrote:quoted
John Keeping [off-list ref] writes:quoted
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.I like the loss of an extra field from "struct ref". I suspect that the if/else cascade in the loop in apply_cas() can also be taught that ':' followed by an empty string asks to check that the target ref does not exist, in order to make it a bit more useful for folks who do not rely on the "use the last observed status of the tracking branch". That would make the "explicit" test much less cumbersome to read.Yes, that's nicer and it mirrors the syntax for deleting a remote branch. I've pulled it out as a preparatory step because I like the fact that the "explicit" test passes even before the patch that is the main point of the series.
Ah, our mails crossed ;-) Thanks, I'll read these three patches.