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

Re: What's in git.git (stable)

From
Junio C Hamano <junkio@cox.net>
Date
Dec 15, 2006, 23:42 UTC
Message-ID
<7vejr0n2u7.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<200612152348.17997.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Show 8 quoted lines
> I'm just used to the way revisions are specified to other history
> viewers: git-log (via git-rev-list), gitk, qgit. git-show-branch
> is a bit odd man out here. "git-show-branch ref1 ref2 ref3"
> is (without --more=n) like 
>
>   git rev-list ref1 ref2 ref3 --not $(git merge-base ref1 ref2 ref3)
>
> Which is handy for git-show-branch, but odd.
I hate to sound harsh, but...

Then you do not understand show-branch at all. Not having to say the "--not merge-base" part is NOT about being handy, but is the central part of what show-branch does. The command is about showing the commits that are on only some of the branches but not on others.

Other commands you listed above are all based on rev-list logic of painting commits in two colors (either UNINTERESTING or ~UNINTERESTING) and being able to combine the set using "A..B", "^A B", and "A B --not C" notations all make sense. All combinations work as set operation -- start from union of commits reachable from positive (i.e. not prefixed with ^) refs, and subtract set of commits reachable from any negative ref.

What show-branch does cannot be expressed with that two-color logic; it needs to use N colors for N input refs. After digging from the tips deep enough, you would find the common merge-base and after that point it is not interesting to show anything anymore, and that is how it stops output.

Previous: Junio C HamanoNext: Junio C Hamano
Message 90 of 102 in “What's in git.git (stable)”
  1. Junio C HamanoDec 13, 2006
  2. Andy ParkinsDec 13, 2006
  3. Jakub NarebskiDec 13, 2006
  4. Andy ParkinsDec 14, 2006
  5. Shawn PearceDec 14, 2006
  6. Andy ParkinsDec 14, 2006
  7. Nicolas PitreDec 14, 2006
  8. Jakub NarebskiDec 15, 2006
  9. Junio C HamanoDec 13, 2006
  10. Peter BaumannDec 13, 2006
  11. Johannes SchindelinDec 14, 2006
  12. Nicolas PitreDec 14, 2006
  13. Junio C HamanoDec 14, 2006
  14. git-show, was Re: What's in git.git (stable)Johannes Schindelin, Dec 14, 2006
  15. Junio C HamanoDec 14, 2006
  16. Johannes SchindelinDec 14, 2006
  17. Andreas EricssonDec 14, 2006
  18. Jakub NarebskiDec 15, 2006
  19. Andy ParkinsDec 14, 2006
  20. Junio C HamanoDec 14, 2006
  21. Andy ParkinsDec 14, 2006
  22. Shawn PearceDec 14, 2006
  23. Carl WorthDec 14, 2006
  24. Shawn PearceDec 14, 2006
  25. reflog by default?, was Re: What's in git.git (stable)Johannes Schindelin, Dec 14, 2006
  26. Nicolas PitreDec 14, 2006
  27. Junio C HamanoDec 14, 2006
  28. Shawn PearceDec 14, 2006
  29. Nicolas PitreDec 14, 2006
  30. Andreas EricssonDec 14, 2006
  31. Junio C HamanoDec 15, 2006
  32. Shawn PearceDec 16, 2006
  33. Nicolas PitreDec 14, 2006
  34. Junio C HamanoDec 14, 2006
  35. Enable reflogs by default in all repositories.Shawn O. Pearce, Dec 14, 2006
  36. Nicolas PitreDec 14, 2006
  37. Junio C HamanoDec 14, 2006
  38. Andy ParkinsDec 14, 2006
  39. Jakub NarebskiDec 15, 2006
  40. Jakub NarebskiDec 15, 2006
  41. Nicolas PitreDec 15, 2006
  42. Andreas EricssonDec 15, 2006
  43. Nicolas PitreDec 15, 2006
  44. Shawn PearceDec 15, 2006
  45. Andreas EricssonDec 15, 2006
  46. Johannes SchindelinDec 15, 2006
  47. Nicolas PitreDec 15, 2006
  48. make commit message a little more consistent and confortingNicolas Pitre, Dec 15, 2006
  49. Shawn PearceDec 15, 2006
  50. Andreas EricssonDec 15, 2006
  51. Shawn PearceDec 15, 2006
  52. Andreas EricssonDec 15, 2006
  53. Shawn PearceDec 15, 2006
  54. Andreas EricssonDec 15, 2006
  55. Nicolas PitreDec 15, 2006
  56. Junio C HamanoDec 15, 2006
  57. Nicolas PitreDec 15, 2006
  58. Shawn PearceDec 15, 2006
  59. Junio C HamanoDec 15, 2006
  60. Nicolas PitreDec 15, 2006
  61. Junio C HamanoDec 16, 2006
  62. Junio C HamanoDec 14, 2006
  63. Andy ParkinsDec 14, 2006
  64. Junio C HamanoDec 14, 2006
  65. Andy ParkinsDec 15, 2006
  66. Raimund BauerDec 15, 2006
  67. Junio C HamanoDec 15, 2006
  68. Carl WorthDec 15, 2006
  69. Johannes SchindelinDec 14, 2006
  70. Johannes SchindelinDec 14, 2006
  71. Andy ParkinsDec 14, 2006
  72. Johannes SchindelinDec 14, 2006
  73. Andy ParkinsDec 14, 2006
  74. Johannes SchindelinDec 14, 2006
  75. Andy ParkinsDec 14, 2006
  76. Shawn PearceDec 14, 2006
  77. Andy ParkinsDec 14, 2006
  78. Nicolas PitreDec 14, 2006
  79. Andy ParkinsDec 14, 2006
  80. Shawn PearceDec 14, 2006
  81. Jakub NarebskiDec 15, 2006
  82. Junio C HamanoDec 15, 2006
  83. Jakub NarebskiDec 15, 2006
  84. Johannes SchindelinDec 15, 2006
  85. Junio C HamanoDec 15, 2006
  86. Johannes SchindelinDec 16, 2006
  87. Junio C HamanoDec 16, 2006
  88. Steven GrimmDec 16, 2006
  89. Junio C HamanoDec 16, 2006
  90. Junio C HamanoDec 15, 2006
  91. git-clone: use wildcard specification for tracking branchesJunio C Hamano, Dec 16, 2006
  92. git-pull: refuse default merge without branch.*.mergeJunio C Hamano, Dec 16, 2006
  93. git-clone: lose the artificial "first" fetch refspecJunio C Hamano, Dec 16, 2006
  94. git-clone: lose the traditional 'no-separate-remote' layoutJunio C Hamano, Dec 16, 2006
  95. Linus TorvaldsDec 16, 2006
  96. Johannes SchindelinDec 16, 2006
  97. Linus TorvaldsDec 16, 2006
  98. Jakub NarebskiDec 16, 2006
  99. Junio C HamanoDec 16, 2006
  100. Document git-merge-fileJohannes Schindelin, Dec 16, 2006
  101. Jakub NarebskiDec 16, 2006
  102. Junio C HamanoDec 16, 2006

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.