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

Re: [PATCH 5/8] push, send-pack: support pushing HEAD to real ref name

From
Steffen Prohaska <prohaska@zib.de>
Date
Oct 28, 2007, 16:30 UTC
Message-ID
<55CCFD12-C10F-46A6-8D65-544231DEBF3F@zib.de>
In-Reply-To
<7v7il7usyx.fsf@gitster.siamese.dyndns.org>
On Oct 28, 2007, at 5:03 PM, Junio C Hamano wrote:
Show 57 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Steffen Prohaska <prohaska@zib.de> writes:
>>
>>> On Oct 28, 2007, at 8:28 AM, Junio C Hamano wrote:
>>>
>>>> Steffen Prohaska <prohaska@zib.de> writes:
>>>>
>>>>> This teaches "push <remote> HEAD" to resolve HEAD on the local
>>>>> side to its real ref name, e.g. refs/heads/master, and then
>>>>> use the real ref name on the remote side to search a matching
>>>>> remote ref.
>>>>
>>>> This probably is a good idea.
>>>
>>> I'll add an even shorter shorthand: "git push HEAD" will push
>>> the current branch to its default remote.
>>
>> Ugh, that looks way too magicky.  The first parameter to push if
>> one ever exists has _always_ been the remote, and the above
>> breaks it.
>>
>> Please don't.
>
> An alternative, just to let me keep my nicer public image by
> pretending to be constructive ;-)
>
> Introduce a configuration "remote.$name.push_default" whose
> value can be a list of refs.  Teach the push command without
> refspecs:
>
> 	$ git push
> 	$ git push $remote
>
> to pretend as if the listed refspecs are given, instead of the
> traditional "matching branches" behaviour.
>
> Then, introduce another option
>
> 	$ git push --matching
> 	$ git push --matching $remote
>
> to override that configuration, if set, so that the user who
> usually pushes only the selected branches can use the "matching
> branches" behaviour when needed.
>
> Along with your earlier "git push $remote HEAD" patch, this will
> allow you to say:
>
> 	[remote "origin"]
>         	push_default = HEAD
>
> and your
>
> 	$ git push
>
> will push only the current branch.

Sounds reasonable; but it is more work. I'm not starting to implement this today.

	Steffen
Previous: Junio C HamanoNext: Junio C Hamano
Message 22 of 36 in “improve push's refspec handling”
  1. 0/8 improve push's refspec handlingSteffen Prohaska, Oct 27, 2007
  2. 1/8 push: change push to fail if short ref name does not existSteffen Prohaska, Oct 27, 2007
  3. 2/8 push: teach push new flag --createSteffen Prohaska, Oct 27, 2007
  4. 3/8 add get_sha1_with_real_ref() returning full name of ref on demandSteffen Prohaska, Oct 27, 2007
  5. 4/8 rev-parse: teach "git rev-parse --symbolic" to print the full ref nameSteffen Prohaska, Oct 27, 2007
  6. 5/8 push, send-pack: support pushing HEAD to real ref nameSteffen Prohaska, Oct 27, 2007
  7. 6/8 add ref_cmp_full_short() comparing full ref name with a short nameSteffen Prohaska, Oct 27, 2007
  8. 7/8 push: use same rules as git-rev-parse to resolve refspecsSteffen Prohaska, Oct 27, 2007
  9. 8/8 push: teach push to be quiet if local ref is strict subset of remote refSteffen Prohaska, Oct 27, 2007
  10. Junio C HamanoOct 28, 2007
  11. Steffen ProhaskaOct 28, 2007
  12. Junio C HamanoOct 28, 2007
  13. Daniel BarkalowOct 27, 2007
  14. Junio C HamanoOct 28, 2007
  15. Daniel BarkalowOct 27, 2007
  16. Junio C HamanoOct 28, 2007
  17. Steffen ProhaskaOct 28, 2007
  18. Steffen ProhaskaOct 28, 2007
  19. Junio C HamanoOct 28, 2007
  20. Steffen ProhaskaOct 28, 2007
  21. Junio C HamanoOct 28, 2007
  22. Steffen ProhaskaOct 28, 2007
  23. Junio C HamanoOct 28, 2007
  24. Steffen ProhaskaOct 31, 2007
  25. Daniel BarkalowOct 27, 2007
  26. Steffen ProhaskaOct 28, 2007
  27. Junio C HamanoOct 28, 2007
  28. Steffen ProhaskaOct 28, 2007
  29. Shawn O. PearceOct 28, 2007
  30. Steffen ProhaskaOct 28, 2007
  31. Brian GernhardtOct 28, 2007
  32. Junio C HamanoOct 28, 2007
  33. Junio C HamanoOct 28, 2007
  34. Daniel BarkalowOct 27, 2007
  35. Junio C HamanoOct 28, 2007
  36. Steffen ProhaskaOct 28, 2007

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.