mercurial 0.9: failed to remove <file> from manifest

John Reiser jreiser at BitWagon.com
Sun Jun 25 07:30:19 CDT 2006


$ hg commit
** unknown exception encountered, details follow
** report bug details to mercurial at selenic.com
** Mercurial Distributed SCM (version 0.9)
Traceback (most recent call last):
  File "/usr/bin/hg", line 12, in ?
    commands.run()
  File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 3182, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 3343, in dispatch
    return d()
  File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 3318, in <lambda>
    d = lambda: func(u, repo, *args, **cmdoptions)
  File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 983, in commit
    repo.commit(files, message, opts['user'], opts['date'], match)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 531, in commit
    (new, remove))
  File "/usr/lib/python2.4/site-packages/mercurial/manifest.py", line 148, in add
    raise AssertionError(
AssertionError: failed to remove src/a.upx from manifest

transaction abort!
rollback completed
=====



DETAILS that seem relevant:

Previously I had done a "hg commit", then "hg revert -r <40-char changeset ID>"
with extra files in some directories ("junk" files that are not controlled
by hg.)  The revert listed those files as to-be-removed, but they were still
there after the revert:
-----
$ hg revert -r be2b2c8c37abb1010c287ebd51615c07a33cd5fc
removing a.upx
removing add-elf-phdr.c
removing busybox-BE.arm
removing busybox-LE.arm
removing busybox.5
removing busybox.6
removing busybox.8.save
removing date.1
removing date.2
removing date.5
removing date.5.save
removing date.7
removing date.arm
removing dnsmasq.5
removing foo
removing foo.1
removing foo.2
removing foo.3
removing foo.log
removing linker.log
removing mtdblock2
removing mtdblock2.brev
removing mtdblock4
removing my_pig
removing p_lx_elf.cpp.orig
removing p_lx_exc.log
removing piggy.S
removing stub/armv4_n2e_d8.S.new
removing stub/armv4_n2e_d8.S.orig
removing stub/foo
removing stub/stamp-h
removing vmlinuz-2.6.16-1.2111_FC4
$ hg diff >diffs.out
$ vi diffs.out
$ hg status
M src/p_lx_exc.cpp
M src/p_lx_exc.h
M src/stub/i386-linux.elf.execve-entry.h
M src/stub/i386-linux.elf.shell-entry.h
M src/stub/i386-linux.elf.shell-fold.h
M src/stub/src/i386-linux.elf.execve-entry.asm
M src/stub/src/i386-linux.elf.shell-entry.asm
M src/stub/src/i386-linux.elf.shell-fold.asm
M src/stub/src/i386-linux.elf.shell-fold.lds
R src/a.upx
R src/add-elf-phdr.c
R src/busybox-BE.arm
R src/busybox-LE.arm
R src/busybox.5
R src/busybox.6
R src/busybox.8.save
R src/date.1
R src/date.2
R src/date.5
R src/date.5.save
R src/date.7
R src/date.arm
R src/dnsmasq.5
R src/foo
R src/foo.1
R src/foo.2
R src/foo.3
R src/foo.log
R src/linker.log
R src/mtdblock2
R src/mtdblock2.brev
R src/mtdblock4
R src/my_pig
R src/p_lx_elf.cpp.orig
R src/p_lx_exc.log
R src/piggy.S
R src/stub/armv4_n2e_d8.S.new
R src/stub/armv4_n2e_d8.S.orig
R src/stub/foo
R src/stub/stamp-h
R src/vmlinuz-2.6.16-1.2111_FC4
? ENV
-----

Then I made more changes to working copy of controlled files, then attempted
"hg commit", getting the traceback at the beginning of this e-mail.

I manually removed the files listed as "R " and tried the "hg commit" again.
But I still got the Assertion complaint.

How can I make this commit?

-- 
John Reiser, jreiser at BitWagon.com


More information about the Mercurial mailing list