Subject: Re: Newbie grief

From: Rich Pixley <[email-masked]>
Date: Thu, 03 May 2012 11:20:56 -0700

On 5/3/12 09:08 , Hallvard Breien Furuseth wrote:
>   Philip Oakley wrote:
>> A bit of browsing found
>> http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/
>> which helped with some of the confusion about the different meanings
>> of "branch". It looks like an Hg branch is a Git clone.  Git can be
>> hard work until one 'gets' how and why the new DVCS approach works.
>> Plus learing the UI.
>   Aha, now this thread finally makes some sense.  So when Rich
>   wants a "branch" with several tips, he actually wants several
>   Git clones (repositories) with the same Git branch checked out -
>   and some of them with local commits to it.
Yes.
>   And these commits can be shared as remote branches between the
>   clones, which in Hg-speak means that in one particular clone,
>   Git will "bookmark" the other clones' tips.
Well, no.  In hg, these are all managed.  So there's no scaling issue.  
They can all push/pull together, since they are really all just one 
shared branch.  Adding a new repository to the mix is trivial.  And 
either pushes or pulls can be used, or any combo.

With git, I must manually make space for each and every repository, 
manually track which set of changes are where, manually track which need 
to be merged, and manually track which repositories are looking at which 
git branches so that they don't collide, or only collide in the current 
repository and only when I'm prepared to merge them.

(The bookmark solution appears to be what hg-git uses.  Hg-git is an hg 
extension to allow push/pull/clone from git repositories using hg.  
Unfortunately, it doesn't translate git submodules into hg 
subrepositories - yet.)

--rich