"hg up -C" is also evil - ;-)

Haszlakiewicz, Eric EHASZLA at transunion.com
Mon Nov 8 10:37:28 CST 2010


>-----Original Message-----
>From: mercurial-bounces at selenic.com [mailto:mercurial-bounces at selenic.com]
>On 5 Nov 2010, at 1:47 PM, Robert Figura wrote:
>
>Well, it wouldn't happen on a normal `hg up`, as that invokes the usual
>merge machinery. It would only write *.orig files on an `hg up -C`, which
>is only needed when crossing branches. So I wouldn't see it happening
>terribly often-unless you're in the habit of leaving uncommitted changes
>around while switching back & forth between branches in the same clone. (!)

The problem is that hg up does *not* invoke the usual merge machinery if you go from one branch to another. 

It's pretty easy to be switching between branches if you happen to have more than one person working on the code (or even if you don't always work on the same machine).  e.g.:
 1) modify and check in some file.
 2) modify another file (or ten), but then decide to check if anyone else has been working on the same stuff.
 3) do a pull.  
 4) Oh gee, there are a bunch of changes, let's update and see what those are.  oops, "hg up" doesn't work because it's switching branches.  Neither does "hg merge" b/c I have local changes.  
Well, I'm not ready to check things in, so now I'm stuck unless I save my changes to a patch file (which from my understanding is what extensions like record or shelve or mq do); not the most user friendly interface, especially when I'm used to using other source control tools that handle this automatically. :(

eric


More information about the Mercurial mailing list