Подтвердить что ты не робот

Git ошибка: предыдущий каталог для восстановления .git/rebase-apply все еще существует, но mbox указан

Я пытаюсь применить патч, который я взял из http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html. Я скопировал его в текстовый редактор и сохранил его как my.patch (мне нужно было исправить сообщение электронной почты, оно было запутано).

Я попытался применить его с помощью Git, но я получаю эту ошибку:

[email protected]:~/Desktop/wine-git$ git am --signoff <my.patch
previous rebase directory /home/sashoalm/Desktop/wine-git/.git/rebase-apply still exists but mbox given.

Это критическое сообщение об ошибке не дает мне понять, что неправильно или что мне нужно сделать, чтобы он работал. Что означает эта ошибка? И как это исправить?

4b9b3361

Ответ 1

git am --abort

работал у меня, но git rebase --abort не сделал.

Что случилось: я попытался применить патч, но он был поврежден (вероятно, копирование Gmail в теле):

git am bad.patch

И Git сказал:

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".

Обратите внимание, как Git выдает решение: To restore the original branch and stop patching, run "git am --abort".

Затем я, очевидно, проигнорировал это сообщение и сразу же попробовал исправленную версию:

git am good.patch

и получил ошибку.

Ответ 2

Хорошо, оказалось, что мне нужно удалить каталог .git/rebase-apply. Это работает после этого (или, по крайней мере, выдает мне другие ошибки, говоря, что электронная почта снова неверна). Я до сих пор не знаю, что на самом деле означает ошибка или почему произошла ошибка.

Изменить: Как показывают комментарии ниже, git am --abort или git rebase --abort может быть лучшим способом решения проблемы, но я не проверял это.