Git Error: Previous Rebase Directory. Git/Rebase-Apply Still Exists but Mbox Given
I'm Trying to Apply a Patch with Git, but I'm Getting This Error: $ Git Am --Signoff < My. Patch Previous Rebase Directory /Home/Sashoalm/Desktop/Wine-Git/...
I'm trying to apply a patch with Git, but I'm getting this error:
$ git am --signoff < my.patch
previous rebase directory /home/sashoalm/Desktop/wine-git/.git/rebase-apply still exists but mbox given.
What does this error mean and how do I fix it?
2 Answers
git am --abort
worked for me, but git rebase --abort did not.
What happened: I tried to apply a patch but it had been corrupted (likely by Gmail copy pasting in body):
git am bad.patch
And Git said:
Applying: python: fix Linetable case to LineTable in docstrings and comments
fatal: corrupt patch at line 56
Patch failed at 0001 python: fix Linetable case to LineTable in docstrings and comments
The copy of the patch that failed is found in:
/home/ciro/git/binutils-gdb/src/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Note how git gives out the solution: To restore the original branch and stop patching, run "git am --abort".
Then I obviously ignored the message, and tried a fixed version immediately:
git am good.patch
and got the error.
Ok, it turned out I needed to delete the directory .git/rebase-apply. It works after that (or at least gives me different errors, saying the email is wrong again). I still have no idea what the error actually means or why there was an error.
Edit: As the comments below suggest, git am --abort or git rebase --abort might be a better way to fix the problem, but I have not tested it.