Help. I've screwed up my repo again, and I have no idea how.

Rob Landley rob at
Wed Nov 1 21:00:39 CST 2006

On Wednesday 01 November 2006 9:30 pm, Rob Landley wrote:
> What the heck is going on?
> A copy of my screwed up repository is at:

Looking at that, I see that "hg manifest" shows the new files I added 
yesterday, but none of the files from before that.  If I do "hg manifest 9" 
it shows the previous files, but "hg manifest 10" shows _only_ the new files, 
it's lost track of all the old ones.

Question: why does diff need -r to specify a revision, but manifest doesn't 
understand -r?

It's like the sucker things it has two heads, despite the fact I never told it 
to branch (I don't think I did, anyway).  "hg heads"...  Yup, somehow it 
seems to have acquired two heads when I added files last night.  Ok, "hg 
update" and "hg merge" and...  It says the files conflict.  Well of COURSE, 
I've been doing work in the darn repository.  Take the new ones already!

Right, mv Makefile Makefile.bak, hg revert Makefile...  And it's not in the 
current changeset.  Well go back and FIND it you stupid...  Sigh.  "hg 
revert -r 9 Makefile", now:

  $ hg merge
  abort: outstanding uncommitted changes
  $ hg commit
  Please choose a commit username to be recorded in the changelog via
  command line option (-u "First Last <email at>"), in the
  configuration files (hgrc), or by setting the EMAIL environment variable.

  abort: No commit username specified!
  transaction abort!
  rollback completed

I've been using this darn thing for WEEKS without whatever this problem is.  
My fault upgrading to try to make what looked like a bug go away.  Ok, 
whereis hgrc, finds a man page, says I should edit /etc/mercurial/hgrc which 
is essentially empty, read the man page some more...

Question: Why doesn't the error message above say _HOW_ to add a commit 
username to hgrc?  It's not obvious.  Read far enough in the man page and you 
find it's key "username" in section "ui", except that says the default is 
username at hostname which is apparently no longer the case.

Sigh.  I wanted to spend tonight working on my project (toybox).  Instead I 
spend it fighting Mercurial.

"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery

More information about the Mercurial mailing list