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

            Bug ID: 5781
           Summary: "assert sf not in data['diverge']" error trying to
                    graft a changeset that has file moves
           Product: Mercurial
           Version: 4.4.2
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: rvandermeu...@mozilla.com
                CC: mercurial-devel@mercurial-scm.org

STR:
1) Clone https://hg.mozilla.org/mozilla-unified
2) Switch to esr52
3) Try running |hg graft -fr 5264677c688188bafb2524194971c19d969ef273|

Expected results:
Changeset grafts without issue

Actual results:
Exception hit. Reproduced with both 4.4.2 and 4.5

Traceback (most recent call last):
  File "/usr/local/bin/hg", line 41, in <module>
    dispatch.run()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 88,
in run
    status = (dispatch(req) or 0) & 255
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
183, in dispatch
    ret = _runcatch(req)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
324, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
332, in _callcatch
    return scmutil.callcatch(ui, func)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/scmutil.py", line 154,
in callcatch
    return func()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
314, in _runcatchfunc
    return _dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
918, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
673, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
926, in _runcommand
    return cmdfunc()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
915, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1195,
in check
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/commands.py", line
2142, in graft
    return _dograft(ui, repo, *revs, **opts)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/commands.py", line
2291, in _dograft
    ['local', 'graft'])
  File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 2058,
in graft
    mergeancestor=mergeancestor, labels=labels)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1905,
in update
    followcopies, matcher=matcher, mergeforce=mergeforce)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1208,
in calculateupdates
    acceptremote, followcopies)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1024,
in manifestmerge
    ret = copies.mergecopies(repo, wctx, p2, pa)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 378,
in mergecopies
    return _fullcopytracing(repo, c1, c2, base)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 481,
in _fullcopytracing
    _checkcopies(c2, c1, f, base, tca, dirtyc2, limit, data2)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 845,
in _checkcopies
    assert sf not in data['diverge']
AssertionError

I believe the issue is that the changeset being grafted is touching files in
the third_party/python/pyasn1 directory, but on the older esr52 bookmark, it
still lives in python/pyasn1 instead.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to