Need help with issue2264 (transplant drops whole or partial changesets)

Greg Ward greg at gerg.ca
Mon Jul 19 20:56:06 CDT 2010


Hi all --

I've been banging away occasionally at issue2264 for the last couple
of weeks.  The bug is that transplant silently drops whole or partial
changesets when transplanting multiple changesets.  I'm pretty sure
the problem is either 1) transplant using dirstate incorrectly or 2) a
bug in dirstate.  I can reproduce it reliably with very specific
real-world data.  I managed to shrink that data down to a very
reasonable size (10 kB tar file with two bundles and a shell script).
I even have a possible fix (call dirstate.write() after each
transplanted changeset).

BUT: I cannot distill the test case further to a standalone shell
script.  And I don't understand the real problem, which means I'm not
sure if my fix is correct.  (If transplant is using dirstate
incorrectly, my patch is probably correct.  But if there is a deeper
bug in dirstate, my patch just covers it up.)

Help!  If you have a good understanding of transplant and/or dirstate,
could you please:

  * read my bug report: http://mercurial.selenic.com/bts/issue2264
  * try out my reproduction: download
http://mercurial.selenic.com/bts/file1111/issue2264.tar
    and read/run the shell script in there
  * take a good hard look at my proposed one-line patch
    (http://mercurial.selenic.com/bts/msg12967) and tell me what you think

Thanks!

Greg


More information about the Mercurial-devel mailing list