[Bug 5409] New: When a commit rebased with evolution is exported, rebase_source isn't preserved

bugzilla at mercurial-scm.org bugzilla at mercurial-scm.org
Thu Oct 27 15:31:42 UTC 2016


https://bz.mercurial-scm.org/show_bug.cgi?id=5409

            Bug ID: 5409
           Summary: When a commit rebased with evolution is exported,
                    rebase_source isn't preserved
           Product: Mercurial
           Version: 4.0-rc
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: evolution
          Assignee: bugzilla at selenic.com
          Reporter: gabor.stefanik at nng.com
                CC: mercurial-devel at selenic.com,
                    pierre-yves.david at ens-lyon.org

Today, my fix for bug 5407 got queued in hg-committed. It was queued on top of
the same revision where I exported it from, but it still ended up with a
different hash, causing evolve to report a divergence.

I investigated how two commits with the same parents, contents, message,
timestamp, username and all other visible attributes could end up being
different, and discovered this:

When a changeset is rebased with the Evolve extension enabled, a
"rebase_source" field is added to its extras. If I then export the patch, the
"rebase_source" field isn't part of the export result, and upon re-import, the
resulting commit will have a new hash. Furthermore, the new commit will not
obsolete the old one, but diverge from it.

Steps to reproduce:
1. Clone the official Mercurial repository to revision b9f7b0c10027 (hg clone
-r b9f7b0c10027 https://mercurial-scm.org/repo/hg)
2. Unbundle the attached bundle file.
3. Export the revision 4daaa319ef14 using "hg export".
4. Re-import the resulting patch. Result: divergence.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list