terminology confusion: bookmark vs named head

Stephen Lee sphen.lee at gmail.com
Wed Dec 18 22:44:04 UTC 2013


On Thu, Dec 19, 2013 at 3:01 AM, Jordi Gutiérrez Hermoso
<jordigh at octave.org> wrote:
> On Wed, 2013-12-18 at 18:09 +0300, anatoly techtonik wrote:
>> That's because "fixes" is a descendant of "master". These bookmarks
>> are not intuitive, and even more confusing with 'hg up'.
>
> They are not intuitive to git users, because they've moulded their
> "intuition" on git. They even insist on calling it a "merge" when
> there is absolutely nothing being merged.
>
> What you call "intuition" I call perversion. However, this perversion
> is now widespread since git is widespread.
>

Git behaviour aside - this is hardly intuitive.
(Also, update *is* a merge in Mercurial - they actually use the exact
same code internally.
Git chooses to expose this to the user, Mercurial does not.)

In a clone based workflow we do:
hg pull; hg merge (if the clones have diverged)
hg pull; hg up (if the clones have not diverged)

In a bookmark workflow:
hg pull; hg merge; (if diverged)
hg pull; hg up; hg book; (if not diverged)

That extra bookmark step is annoying and easy to forget. (Anatoly, you
don't need to use -f on hg book if you are running the latest
Mercurial, it was fixed around 2.6 from memory).

Please remember that this is a hard issue - if this is going to be
fixed we need to consider how it will affect other workflows too.
I have not thought of a solution yet, but I'm still trying.

Steve



More information about the Mercurial-devel mailing list