Random toughs

Steve Borho steve at borho.org
Fri Oct 19 10:16:04 CDT 2007


On Fri, 2007-10-19 at 11:45 +0200, Jonas Pfenniger wrote:
> Hello again,
> 
> these are all notes I have collected on my Hg investigation. Mercurial
> is better (for us) than Git, Darcs, Bzr, BitKeeper and Perforce. The
> context is a two developer shop with future co-workers. We want to use
> it in a more centralized way.
> 
> Please note that I am still a newbie to Mercurial so it is not
> necessary really insightful.
> 
> = integrity
> 
> There are at least two locking/race bugs open in the BTS (#132 and
> #552). RevlogNG seems pretty safe on the principles but I didn't find
> documentation in cases of corruption. It would be helpful to know what
> scenarios can cause corruption, if it can propagate between
> repositories and what restorations processes are available.
> 
> = shared hooks
> 
> In a small code shop, sharing hooks is practical. You want to be able
> to clone the main repository and have the same setup as your
> coworkers.
> 
> Having shared hooks in a distributed environment is more problematic
> because everybody needs to have the hooks available or you share the
> hooks with the repository and it adds mercurial interface
> dependencies. I guess these are the reasons why it isn't supported.

You could maintain your site-wide hooks in a repository of their own and
just have everyone keep a clone on their machines.

> = partial commits
> 
> In perforce you can reject some files when editing the commit message
> by removing their corresponding line. Mercurial doesn't push to have
> big commits so it's less vital but it could still be nice.

There are a couple of commit tools out there that provide this
functionality.  I prefer this one:

http://www.selenic.com/mercurial/wiki/index.cgi/QctExtension

> = hg debugconfig
> 
> I think that "hg config" would be a better name. It could also be
> extended to allow setting options too.
> 
> Another small enhancement would be to dump the origin of each setting
> with their value.

'showconfig' is a more descriptive alias for 'debugconfig'

There is also an extension which adds an 'hg config' command that does
allow setting options.

http://www.selenic.com/mercurial/wiki/index.cgi/ConfigExtension

> = dead bug tracker
> 
> Lots of tickets are living there. It doesn't inspire confidence in the
> software. However, the mailing list seem much more helpful since even
> FAQ-like questions are answered.

I expect an effort will be made to go through all the open bugs as
Mercurial approaches 1.0.

> = controlling branching
> 
> In a centralized setup, managing branches is a bit unfriendly. Either
> you use named branches, either you have to use ssh to spawn new
> clones. It would be helpful to have a more controlled environment like
> a web interface that protects against human errors.
> 
> = it's too fast !
> 
> This is almost a joke but when you're used to wait minutes for your
> operations, you're not even sure they happened in mercurial :)
> 
> From my poor experience, you end up using hg tip a lot because of
> that. Maybe it could be useful to have a result message and hg tip
> printed automatically on most operations.
> 
> = history and branches
> 
> I don't really see how you can track from which branch a changeset
> came from and who integrated the change in the logs. It would be nice
> to somehow be able to name cloned branches, so that each commit
> message would be prepended by that name.
> 
-- 
Steve Borho (steve at borho.org)
http://www.borho.org/~steve/steve.asc
Key fingerprint = 2D08 E7CF B624 624C DE1F  E2E4 B0C2 5292 F2C6 2C8C



More information about the Mercurial mailing list