git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] push: allow pushing new branches with --force-with-lease

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 25, 2016, 17:28 UTC
Message-ID
<xmqq4m7d7hlq.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<6b401124e734d4f5486003459e586cc05c7843e8.1469287889.git.john@keeping.me.uk>
John Keeping <john@keeping.me.uk> writes:
Show 9 quoted lines
> 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.
Show 7 quoted lines
> +test_expect_success 'new branch covered by force-with-lease (explicit)' '
> +	setup_srcdst_basic &&
> +	(
> +		cd dst &&
> +		git branch branch master &&
> +		git push --force-with-lease=branch:0000000000000000000000000000000000000000 origin branch
> +	) &&
Previous: John KeepingNext: John Keeping
Message 2 of 19 in “push: allow pushing new branches with --force-with-lease”
  1. push: allow pushing new branches with --force-with-leaseJohn Keeping, Jul 23, 2016
  2. Junio C HamanoJul 25, 2016
  3. 0/3 push: allow pushing new branches with --force-with-leaseJohn Keeping, Jul 25, 2016
  4. 1/3 Documentation/git-push: fix placeholder formattingJohn Keeping, Jul 25, 2016
  5. 2/3 push: add shorthand for --force-with-lease branch creationJohn Keeping, Jul 25, 2016
  6. Junio C HamanoJul 25, 2016
  7. John KeepingJul 26, 2016
  8. Junio C HamanoJul 26, 2016
  9. John KeepingJul 26, 2016
  10. Junio C HamanoJul 26, 2016
  11. Jakub NarębskiJul 26, 2016
  12. John KeepingJul 26, 2016
  13. 3/3 push: allow pushing new branches with --force-with-leaseJohn Keeping, Jul 25, 2016
  14. Junio C HamanoJul 25, 2016
  15. 0/3 push: allow pushing new branches with --force-with-leaseJohn Keeping, Jul 26, 2016
  16. 1/3 Documentation/git-push: fix placeholder formattingJohn Keeping, Jul 26, 2016
  17. 2/3 push: add shorthand for --force-with-lease branch creationJohn Keeping, Jul 26, 2016
  18. 3/3 push: allow pushing new branches with --force-with-leaseJohn Keeping, Jul 26, 2016
  19. Junio C HamanoJul 25, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.