Skip to content

Stuck in a merge, imerge crashes when attempting to continue #199

@vmsh0

Description

@vmsh0

Hi,

git-imerge crashes when attempting to continue an incremental merge. The crash looks as follows:

contiki-sensinode on   (git)-[0e5ccf2f357f39c301939421a7017aff59fccb7c|merge]- [=✘»!+?] took 9s
➜ git imerge continue
Attempting automerge of 1-1145...failure.
Attempting automerge of 1-230...success.
error: Entry 'tools/cooja/java/org/contikios/cooja/util/CCITT_CRC.java' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'HEAD'.
Attempting automerge of 1-688...Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 661, in automerge
    call_silently(cmd)
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 230, in call_silently
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', '-c', 'rerere.enabled=false', 'merge', '61a5d234eb659234e1ef6db1026b88b0a8643c1e']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/git-imerge", line 33, in <module>
    sys.exit(load_entry_point('git-imerge==1.2.0', 'console_scripts', 'git-imerge')())
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 4357, in climain
    main(sys.argv[1:])
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 4338, in main
    cmd_continue(parser, options)
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 3847, in cmd_continue
    merge_state.auto_complete_frontier()
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 2823, in auto_complete_frontier
    frontier.auto_expand()
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 2114, in auto_expand
    merge_frontier = BlockwiseMergeFrontier.initiate_merge(block)
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 1866, in initiate_merge
    block, list(find_frontier_blocks(block)),
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 1367, in find_frontier_blocks
    i2 = find_first_false(
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 212, in find_first_false
    if f(mid):
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 1368, in <lambda>
    lambda i: block.is_mergeable(i1, i),
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 2321, in is_mergeable
    self.git.automerge(self[i1, 0].sha1, self[0, i2].sha1)
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 663, in automerge
    self.abort_merge()
  File "/usr/lib/python3.10/site-packages/gitimerge.py", line 910, in abort_merge
    check_call(['git', 'reset', '--merge'])
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'reset', '--merge']' returned non-zero exit status 128.

git status after the crash (very long, sorry for the external link): https://paste.sr.ht/blob/b466f3ca90050fbd8e2cf23cf7af716096c1ce46

Is it possible to recover from this situation? I've been working on this merge for a few days now, my current priority is not to lose the work I've done so far.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions