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

Re: [PATCH 1/2] fetch: better alignment in ref summary

From
Marc Branchaud <marcnarc@xiplink.com>
Date
May 26, 2016, 18:13 UTC
Message-ID
<57473CDA.5000408@xiplink.com>
In-Reply-To
<xmqq8tywwwab.fsf@gitster.mtv.corp.google.com>
On 2016-05-26 01:42 PM, Junio C Hamano wrote:
Show 10 quoted lines
>
> True.  One of the entries in Marc's example is easily misread as
> "pclouds/2nd-index branch at its refs/heads/pclouds/2nd-index was
> fetched to its usual place", when Marc wanted to say "they had
> 2nd-index branch at refs/heads/2nd-index, and it was copied to our
> refs/remotes/pclouds/2nd-index".
>
> So even though we might be able to make sure it is unambiguous
> without "this -> that" ("->" is pronounced as 'became'), it is
> easily misread.

Actually, I tend to just think of it as "this is a local name you can use to refer to the new thing that was just fetched." The left-hand side describes the thing being fetched (new or updated branch/tag/ref), and the right hand side shows how to locally refer to that thing.

The fact that something is buried in some odd part of the ref tree is less relevant, IMO. If I'm using custom fetch refspecs or other oddities, I'll have that in the back of my head. But what I really care about is what ref I can use with commands like log and checkout.

So, regarding Peff's examples:
 > $ git fetch origin refs/pull/*/head:refs/remotes/pr/*

Just show me the "pr/foo" refs. I know where things are coming from. Even if I configured that fetch refspec a long time ago, I don't need to see the exact mapping every time I fetch.

 > $ git fetch origin refs/pull/77/head refs/pull/78/head

Ah, now this is an odd case. Maybe there should be a different output format altogether for this one. The problem is that the remote refs being fetched are stored without any kind of local ref. (Commands like "git log FETCH_HEAD" only work with the last ref fetched, even though all the SHAs get added to the .git/FETCH_HEAD file. Maybe if git supported a "FETCH_HEAD@{x}" syntax...)

I think the output should show the plain SHA values, since those are the only things the user can use to work with those refs. Maybe something like:

	From ...
	 * origin:refs/pull/77/head  abcd0123
	 * origin:refs/pull/78/head  453def00
(Not 100% sure about the "origin:" prefix...)
		M.
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 71 in “Better ref summary alignment in "git fetch"”
  1. 0/2 Better ref summary alignment in "git fetch"Nguyễn Thái Ngọc Duy, May 22, 2016
  2. 1/2 fetch: better alignment in ref summaryNguyễn Thái Ngọc Duy, May 22, 2016
  3. Junio C HamanoMay 23, 2016
  4. Duy NguyenMay 23, 2016
  5. Marc BranchaudMay 26, 2016
  6. Jeff KingMay 26, 2016
  7. Junio C HamanoMay 26, 2016
  8. Marc BranchaudMay 26, 2016
  9. Junio C HamanoMay 26, 2016
  10. Marc BranchaudMay 26, 2016
  11. Jeff KingMay 26, 2016
  12. Duy NguyenJun 2, 2016
  13. Junio C HamanoJun 2, 2016
  14. 2/2 fetch: reduce ref column size when there are enough short ref namesNguyễn Thái Ngọc Duy, May 22, 2016
  15. 0/3 Better ref summary alignment in "git fetch"Nguyễn Thái Ngọc Duy, Jun 3, 2016
  16. 1/3 git-fetch.txt: document fetch outputNguyễn Thái Ngọc Duy, Jun 3, 2016
  17. Marc BranchaudJun 3, 2016
  18. Jeff KingJun 3, 2016
  19. 2/3 fetch: refactor ref update status formatting codeNguyễn Thái Ngọc Duy, Jun 3, 2016
  20. Junio C HamanoJun 3, 2016
  21. 3/3 fetch: reduce duplicate in ref update status linesNguyễn Thái Ngọc Duy, Jun 3, 2016
  22. Marc BranchaudJun 3, 2016
  23. Junio C HamanoJun 3, 2016
  24. Marc BranchaudJun 3, 2016
  25. Junio C HamanoJun 3, 2016
  26. Duy NguyenJun 4, 2016
  27. Duy NguyenJun 4, 2016
  28. Junio C HamanoJun 4, 2016
  29. Duy NguyenJun 5, 2016
  30. Junio C HamanoJun 3, 2016
  31. Duy NguyenJun 3, 2016
  32. Jeff KingJun 3, 2016
  33. Duy NguyenJun 3, 2016
  34. Junio C HamanoJun 4, 2016
  35. Jeff KingJun 3, 2016
  36. Junio C HamanoJun 3, 2016
  37. 0/6 Better ref summary alignment in "git fetch"Nguyễn Thái Ngọc Duy, Jun 5, 2016
  38. 1/6 git-fetch.txt: document fetch outputNguyễn Thái Ngọc Duy, Jun 5, 2016
  39. Marc BranchaudJun 6, 2016
  40. 2/6 fetch: refactor ref update status formatting codeNguyễn Thái Ngọc Duy, Jun 5, 2016
  41. 3/6 fetch: change flag code for displaying tag update and deleted refNguyễn Thái Ngọc Duy, Jun 5, 2016
  42. 4/6 fetch: align all "remote -> local" outputNguyễn Thái Ngọc Duy, Jun 5, 2016
  43. 5/6 fetch: reduce duplicate in ref update status lines with { -> }Nguyễn Thái Ngọc Duy, Jun 5, 2016
  44. 6/6 fetch: reduce duplicate in ref update status lines with placeholderNguyễn Thái Ngọc Duy, Jun 5, 2016
  45. 0/5 Better ref summary alignment in "git fetch"Nguyễn Thái Ngọc Duy, Jun 26, 2016
  46. 1/5 git-fetch.txt: document fetch outputNguyễn Thái Ngọc Duy, Jun 26, 2016
  47. Jakub NarębskiJul 4, 2016
  48. Duy NguyenJul 4, 2016
  49. Jakub NarębskiJul 4, 2016
  50. Duy NguyenJul 4, 2016
  51. 2/5 fetch: refactor ref update status formatting codeNguyễn Thái Ngọc Duy, Jun 26, 2016
  52. 3/5 fetch: change flag code for displaying tag update and deleted refNguyễn Thái Ngọc Duy, Jun 26, 2016
  53. 4/5 fetch: align all "remote -> local" outputNguyễn Thái Ngọc Duy, Jun 26, 2016
  54. 5/5 fetch: reduce duplicate in ref update status lines with placeholderNguyễn Thái Ngọc Duy, Jun 26, 2016
  55. Eric SunshineJun 27, 2016
  56. Duy NguyenJun 27, 2016
  57. Junio C HamanoJun 27, 2016
  58. Jeff KingJun 27, 2016
  59. Duy NguyenJun 27, 2016
  60. Duy NguyenJun 30, 2016
  61. Jeff KingJul 1, 2016
  62. 0/5 Better ref summary alignment in "git fetch"Nguyễn Thái Ngọc Duy, Jul 1, 2016
  63. 1/5 git-fetch.txt: document fetch outputNguyễn Thái Ngọc Duy, Jul 1, 2016
  64. 2/5 fetch: refactor ref update status formatting codeNguyễn Thái Ngọc Duy, Jul 1, 2016
  65. 5/5 fetch: reduce duplicate in ref update status lines with placeholderNguyễn Thái Ngọc Duy, Jul 1, 2016
  66. 3/5 fetch: change flag code for displaying tag update and deleted refNguyễn Thái Ngọc Duy, Jul 1, 2016
  67. 4/5 fetch: align all "remote -> local" outputNguyễn Thái Ngọc Duy, Jul 1, 2016
  68. Junio C HamanoJul 1, 2016
  69. Duy NguyenJul 2, 2016
  70. Marc BranchaudJul 4, 2016
  71. Duy NguyenJul 4, 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.