Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
vmsh0 opened this issue Dec 7, 2022 · 2 comments
Open

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

vmsh0 opened this issue Dec 7, 2022 · 2 comments

Comments

@vmsh0
Copy link

vmsh0 commented Dec 7, 2022

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.

@vmsh0
Copy link
Author

vmsh0 commented Dec 7, 2022

In case it might be useful, this is the output of git reset --merge right after the crash:

contiki-sensinode on   (git)-[0e5ccf2f357f39c301939421a7017aff59fccb7c|merge]- [=✘»!+?]
➜ git reset --merge
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'.

@vmsh0
Copy link
Author

vmsh0 commented Dec 8, 2022

I suspect that the .gitattributes file that has a conflict for the current merge might have something to do with the issue:

<<<<<<< HEAD
.gitignore       export-ignore
.gitattributes   export-ignore
=======
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto whitespace=trailing-space

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text
*.java text

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
>>>>>>> 61a5d234eb659234e1ef6db1026b88b0a8643c1e

However, even changing it and trying to continue the merge results in the crash happening again and the .gitattributes file being restored to the version above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant