web-dev-qa-db-fra.com

Erreur Git: le répertoire de rebase précédent .git / rebase-apply existe toujours mais mbox est donné

J'essaie d'appliquer un patch, que j'ai pris de http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html . Je l'ai copié dans un éditeur de texte et l'ai enregistré sous my.patch (J'avais besoin de réparer l'e-mail, il avait été masqué).

J'ai essayé de l'appliquer avec Git, mais je reçois cette erreur:

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

Ce message d'erreur cryptique ne me donne aucune idée de ce qui ne va pas ou de ce que je dois faire pour que cela fonctionne. Que signifie cette erreur? Et comment puis-je le réparer?

55
sashoalm
git am --abort

travaillé pour moi, mais git rebase --abort non.

Que s'est-il passé: j'ai essayé d'appliquer un correctif mais il avait été corrompu (probablement par copie de Gmail collée dans le corps ):

git am bad.patch

Et Git a dit:

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

Notez comment git propose la solution: To restore the original branch and stop patching, run "git am --abort".

Ensuite, j'ai évidemment ignoré le message et essayé immédiatement une version fixe:

git am good.patch

et a obtenu l'erreur.

Ok, il s'est avéré que je devais supprimer le répertoire .git/rebase-apply. Cela fonctionne après cela (ou au moins me donne des erreurs différentes, disant que l'e-mail est de nouveau erroné) Je n'ai toujours aucune idée de ce que l'erreur signifie réellement ni pourquoi il y a eu une erreur.

Edit: Comme le suggèrent les commentaires ci-dessous, git am --abort ou git rebase --abort pourrait être un meilleur moyen de résoudre le problème, mais je ne l'ai pas testé.

37
sashoalm