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

Re: [PATCH v2 2/3] for-each-ref: let upstream/push optionally remote ref name

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 14, 2017, 02:08 UTC
Message-ID
<xmqqinfiv5u2.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20171013163923.GA5598@alpha.vpn.ikke.info>
Kevin Daudt <me@ikke.info> writes:
Show 19 quoted lines
> On Thu, Oct 05, 2017 at 02:19:15PM +0200, Johannes Schindelin wrote:
>> From: J Wyman <jwyman@microsoft.com>
>> [..] 
>> 
>> diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
>> index 39f50bd53eb..22767025850 100644
>> --- a/Documentation/git-for-each-ref.txt
>> +++ b/Documentation/git-for-each-ref.txt
>> @@ -142,8 +142,9 @@ upstream::
>>  	encountered. Append `:track,nobracket` to show tracking
>>  	information without brackets (i.e "ahead N, behind M").
>>  +
>> -Also respects `:remotename` to state the name of the *remote* instead of
>> -the ref.
>> +Also respects `:remotename` to state the name of the *remote* instead
>> +of the ref, and `:remoteref` to state the name of the *reference* as
>> +locally known by the remote.
>
> What does "locally known by the remote" mean in this sentence?

Good question. I cannot offhand offer a better and concise phrasing, but I think can explain what it wants to describe ;-).

For a local branch we have (say, 'topic'), there may be different things outside this repository that regularly interact with it.

We may update 'topic' with work others did, by
	git checkout topic && git pull

without any extra command line argument to "git pull". We are pulling from the 'upstream' of the 'topic', which is a branch in a remote repository, and the (nick)name of the remote is :remotename. When we do this pull, we would grab one of the branches the remote has and merge it into our 'topic'. IOW, when the above command line is written in longhand, the "git pull" step may look like this [*1*]:

	git pull origin devel

if we were building on top of the 'devel' branch at the 'origin' remote. The full refname of that branch, 'refs/heads/devel', is :remoteref, and that is the reference locally known to the 'origin' remote.

The "locally known by the remote" is an attempt by the patch authors to stress the fact that the result is not refs/remotes/origin/devel (which is where _you_ would keep a local copy of that reference in this repository).

Two other things outside this repository that interact with 'topic' are where the result of our work is pushed out to, which is a branch at the 'push' remote.

[Footnotes]
*1* Modulo the details of other refs fetched that are unrelated to
    the resulting merge and local copies stored as remote-tracking
    branches in this repository.
Previous: Kevin DaudtNext: Johannes Schindelin
Message 23 of 32 in “for-each-ref: add :remote-ref and :remote-name specifiers”
  1. 0/3 for-each-ref: add :remote-ref and :remote-name specifiersJohannes Schindelin, Oct 2, 2017
  2. 1/3 for-each-ref: let upstream/push optionally report the remote nameJohannes Schindelin, Oct 2, 2017
  3. Junio C HamanoOct 4, 2017
  4. Junio C HamanoOct 4, 2017
  5. Johannes SchindelinOct 5, 2017
  6. 2/3 for-each-ref: let upstream/push optionally report merge name.Johannes Schindelin, Oct 2, 2017
  7. Junio C HamanoOct 4, 2017
  8. Junio C HamanoOct 4, 2017
  9. Junio C HamanoOct 5, 2017
  10. 3/3 for-each-ref: test :remote-name and :remote-refJohannes Schindelin, Oct 2, 2017
  11. Junio C HamanoOct 5, 2017
  12. 0/3 for-each-ref: add :remoteref and :remotename specifiersJohannes Schindelin, Oct 5, 2017
  13. 1/3 for-each-ref: let upstream/push optionally report the remote nameJohannes Schindelin, Oct 5, 2017
  14. Junio C HamanoOct 10, 2017
  15. Junio C HamanoOct 11, 2017
  16. 2/3 for-each-ref: let upstream/push optionally remote ref nameJohannes Schindelin, Oct 5, 2017
  17. Junio C HamanoOct 6, 2017
  18. Junio C HamanoOct 11, 2017
  19. Johannes SchindelinOct 12, 2017
  20. Junio C HamanoOct 13, 2017
  21. Johannes SchindelinOct 15, 2017
  22. Kevin DaudtOct 13, 2017
  23. Junio C HamanoOct 14, 2017
  24. Johannes SchindelinOct 15, 2017
  25. Junio C HamanoOct 16, 2017
  26. Johannes SchindelinOct 16, 2017
  27. 3/3 for-each-ref: test :remotename and :remoterefJohannes Schindelin, Oct 5, 2017
  28. 0/3 for-each-ref: add :remoteref and :remotename specifiersJohannes Schindelin, Nov 7, 2017
  29. 1/3 for-each-ref: let upstream/push optionally report the remote nameJohannes Schindelin, Nov 7, 2017
  30. 2/3 for-each-ref: let upstream/push report the remote ref nameJohannes Schindelin, Nov 7, 2017
  31. 3/3 for-each-ref: test :remotename and :remoterefJohannes Schindelin, Nov 7, 2017
  32. Junio C HamanoNov 8, 2017

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.