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

Re: Newbie grief

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
May 2, 2012, 00:44 UTC
Message-ID
<CAMK1S_jrDXvPTKt_Azk2BZm=N7SdgcvgAV7X1TEUvGhwcan_AA@mail.gmail.com>
In-Reply-To
<4FA01C73.5000909@palm.com>

[I'm going to assume not copying the list on your reply to me was an oversight, since there's nothing in the text to indicate it was supposed to confidential or personal in any way].

[second, sorry about the multiple emails!]
On Tue, May 1, 2012 at 10:55 PM, Rich Pixley <rich.pixley@palm.com> wrote:
Show 34 quoted lines
>
> On 4/30/12 20:44 , Sitaram Chamarty wrote:
>>
>> I've been reading the thread with interest.
>>
>> People who know far more than I do about git, its innards, and its
>> design have been responding in this thread so consider this a git
>> *user*'s point of view:
>>
>> On Tue, May 1, 2012 at 6:45 AM, Rich Pixley<rich.pixley@palm.com>  wrote:
>>
>>> Multiple heads are the idea that a single commit can "branch" in the
>>> repository and that both commits can be HEADS of the same branch at once
>>> in
>>> a single repository.  This allows a potential collision to exist in the
>>> repository and to be pushed and pulled through multiple repositories.
>>>  It
>>
>> That is bizarre; I have no other word for it.
>>
>> I teach git (occasionally), and if this feature existed I would
>> totally ignore it in my teaching material because I wouldn't know how
>> to defend or explain the need for "hydra branches".
>>
>> It's like having two people with the same first name *and* last name
>> (a situation that is not impossible in real life, but is rare and
>> almost always requires special handling).
>>
>> Does Hg do this?
>
> Yes, it does.  "Hg merge" by default merges a second head into your
> current working directory.
>
> It's a conceptual leap, I concur.  Believe me, I'm going through the
It's a conceptual leap I can do without; I'm bowing out of this discussion.

There's an ambiguity in the branch name now that, to me, is both confusing and unnecessary.

It's like each branch name is now an array variable instead of a scalar.

We all know when arrays are better than a bunch of similarly named scalars, but in *this* context I don't see why it is needed.

The fact that, (in later emails to others), you called this a basic beginning need, or words to that effect, is just icing on top.

Show 28 quoted lines
> reverse cultural shock now that git doesn't have this facility.  But it's a
> leap whose idea has been around for over 20 years.  It wasn't until the
> daggy source code control systems like monotone showed up that it became
> practical, but that was a decade ago now.
>
> The big win, of course, is that we can both push to the same repository,
> (and through multiple repositories), and we can decide later whether we want
> to merge or branch permanently.
>
>>   That would explain why my (admittedly half-hearted)
>> attempts to learn it have failed -- whatever tutorial I used must have
>> been written with the idea that hydra branches are intuitive and
>> logical and sane, but did not express the concept as clearly and
>> succinctly as you did.
>>
>> Thanks for this insight; my next attempt to understand Hg, should I
>> ever be forced into it, might actually succeed!
>
> It's really pretty simple.  Your commit, (or push, or pull), always
> succeeds, even if it's not at the tip of a branch.  If it's not at the tip
> of a branch, then it creates a new tip.
>
> The word "head" here is problematic since git uses it in a totally
> different way.  In git, "HEAD" refers to whatever commit is currently
> checked out.  In hg, "head" refers to a childless commit.  It doesn't even
> need to be on a named branch.
>
> --rich

-- Sitaram

Previous: Felipe Contreras
Message 100 of 100 in “Newbie grief”
  1. Rich PixleyApr 30, 2012
  2. Seth RobertsonApr 30, 2012
  3. Rich PixleyMay 1, 2012
  4. Junio C HamanoMay 1, 2012
  5. Rich PixleyMay 1, 2012
  6. Sitaram ChamartyMay 1, 2012
  7. Ted Ts'oMay 1, 2012
  8. Sitaram ChamartyMay 1, 2012
  9. Rich PixleyMay 1, 2012
  10. Michael WittenMay 1, 2012
  11. Rich PixleyMay 1, 2012
  12. Jakub NarebskiMay 2, 2012
  13. Randal L. SchwartzMay 1, 2012
  14. Rich PixleyMay 1, 2012
  15. Randal L. SchwartzMay 1, 2012
  16. Junio C HamanoMay 1, 2012
  17. Rich PixleyMay 1, 2012
  18. Randal L. SchwartzMay 1, 2012
  19. Rich PixleyMay 1, 2012
  20. Michael WittenMay 1, 2012
  21. Philip OakleyMay 1, 2012
  22. Hallvard Breien FurusethMay 3, 2012
  23. Rich PixleyMay 3, 2012
  24. Hallvard Breien FurusethMay 3, 2012
  25. Hallvard Breien FurusethMay 3, 2012
  26. Rich PixleyMay 3, 2012
  27. Junio C HamanoMay 3, 2012
  28. Rich PixleyMay 3, 2012
  29. Randal L. SchwartzMay 3, 2012
  30. Junio C HamanoMay 3, 2012
  31. Felipe ContrerasMay 4, 2012
  32. Felipe ContrerasMay 4, 2012
  33. Michael WittenMay 4, 2012
  34. Rich PixleyMay 1, 2012
  35. Randal L. SchwartzMay 1, 2012
  36. Rich PixleyMay 1, 2012
  37. Andreas EricssonMay 1, 2012
  38. PJ WeisbergMay 1, 2012
  39. Rich PixleyMay 3, 2012
  40. Nathan GrayMay 3, 2012
  41. Rich PixleyMay 3, 2012
  42. Randal L. SchwartzMay 3, 2012
  43. Rich PixleyMay 3, 2012
  44. Mark BrownMay 4, 2012
  45. Rich PixleyMay 4, 2012
  46. Jakub NarebskiMay 4, 2012
  47. Mark BrownMay 4, 2012
  48. Hallvard Breien FurusethMay 2, 2012
  49. Michael WittenMay 2, 2012
  50. Hallvard Breien FurusethMay 3, 2012
  51. Randal L. SchwartzMay 3, 2012
  52. Michael WittenMay 3, 2012
  53. Hallvard Breien FurusethMay 3, 2012
  54. Michael WittenMay 3, 2012
  55. Rich PixleyMay 3, 2012
  56. Ted Ts'oMay 3, 2012
  57. Felipe ContrerasMay 1, 2012
  58. Rich PixleyMay 3, 2012
  59. Rich PixleyMay 3, 2012
  60. Andreas EricssonMay 4, 2012
  61. Stephen BashMay 4, 2012
  62. Mark BrownMay 4, 2012
  63. Felipe ContrerasMay 4, 2012
  64. Rich PixleyMay 1, 2012
  65. Jan KrügerApr 30, 2012
  66. Rich PixleyMay 1, 2012
  67. Philippe VaucherMay 2, 2012
  68. Seth RobertsonMay 1, 2012
  69. Rich PixleyMay 1, 2012
  70. Michael WittenMay 1, 2012
  71. Junio C HamanoMay 1, 2012
  72. Michael WittenMay 1, 2012
  73. Rich PixleyMay 1, 2012
  74. Rich PixleyMay 1, 2012
  75. Rich PixleyMay 3, 2012
  76. Ronan KeryellMay 3, 2012
  77. Junio C HamanoMay 3, 2012
  78. Ronan KeryellMay 3, 2012
  79. Rich PixleyMay 3, 2012
  80. Rich PixleyMay 3, 2012
  81. Illia BobyrMay 4, 2012
  82. Nathan GrayMay 4, 2012
  83. Michael WittenMay 4, 2012
  84. Junio C HamanoMay 4, 2012
  85. Carlos Martín NietoMay 4, 2012
  86. Junio C HamanoMay 4, 2012
  87. Junio C HamanoMay 4, 2012
  88. Nathan GrayMay 4, 2012
  89. Illia BobyrMay 4, 2012
  90. Rich PixleyMay 4, 2012
  91. Rich PixleyMay 4, 2012
  92. Michael WittenMay 4, 2012
  93. Andrew SayersMay 4, 2012
  94. Jérôme BenoitMay 4, 2012
  95. Felipe ContrerasMay 4, 2012
  96. Junio C HamanoMay 4, 2012
  97. Felipe ContrerasMay 4, 2012
  98. Rich PixleyMay 4, 2012
  99. Felipe ContrerasMay 4, 2012
  100. Sitaram ChamartyMay 2, 2012

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.