broke my .hgsubstate file

Julius Ziegler julius.ziegler at kit.edu
Mon Jan 9 17:25:39 UTC 2012


On Mon, 2012-01-09 at 17:45 +0100, Mads Kiilerich wrote:
> On 01/09/2012 05:17 PM, Julius Ziegler wrote:
> > Hello,
> >
> > I somehow broke my .hgsubstate file. For the last commit it shows this
> > diff:
> >
> > -a74fa9fd8a84971528ec1cfabf79f31232bc5b95 raw_extract
> > -1761c8cf18b83d501e1dc5fc08b5d017406afbcd record_button
> > + raw_extract
> > +7bd38916165ab1f19392ba38e6c8d8691248cdec record_button
> >
> > What does the empty revision for subrepo raw_extract mean? I cannot
> > update to this bad revision, the error
> >
> > 00changelog.i@: ambiguous identifier
> >
> > comes up. I managed to "branch around" this bad commit, but it is
> > annoying that I cannot update to the bad commit for the purpose of
> > pruning the bad branch.
> >
> > As always, it is kind of hard for me to retrace how I got into this
> > situation (that diff is not helping me either)!
> >
> > Any ideas what went wrong, or how I can fix this?
> 
> I guess you used an old Mercurial with a bug that now has been fixed?

Thanks for your reply Mads,

involved were these mercurial versions (I was using two working copies
on different Linuxes, and a "canonic" repository on a file server):

1.6.3 (copy 1)
1.7.5 (copy 2)
2.0.1 (file server)

do you deem any of these buggy?

Anyway, I found out that the problem started when I enabled this in
my .hg/hgrc:

[ui]
commitsubrepos=no

It is supposed to suppress recursive commits of subrepos. However, in my
case it caused exactly that problem, i.e. creating "empty" revisions
instead of just not touching the revision (which is the behaviour I had
expected).

Can someone confirm that this really is a bug and not a feature?

Thanks!
Julius

> Revisions with the bad .hgsubstate will however remain poisonous 
> forever, unless you do some kind of tricky surgery to remove it.
> 
> /Mads





More information about the Mercurial mailing list