Que faire si git-am échoue avec “ne correspond pas à l'index”?
J'essaye d'appliquer un git patch créé par quelqu'un d'autre avec git-format-patch
. Le patch a été fait contre un commit derrière la TÊTE, mais ce que je comprends, cela ne devrait pas d'importance. Quand je lance git am 0001.patch
, j'obtiens l'erreur:
error: source.c: does not match index
Je ne suis pas trop familier avec le format de git patchs, mais il ne semble pas que les indices ne correspondent pas, cependant, la source ne correspondent.
Quelle est la meilleure façon de résoudre ce problème? Modifier manuellement les indices de match? Ou devrais-je git-apply
puis copiez l'auteur et la description de l'information quand je m'engage?
OriginalL'auteur joshdoe | 2010-08-26
Vous devez vous connecter pour publier un commentaire.
De J. C. Hamano (Git responsable) lui-même, c'est sur:
Avec les récentes Git version, vous pouvez abandonner:
Alors:
Remarque: une source de sale arbre peut être le
autocrlf
paramètre (comme dans cette msysgit numéro 81), afin de faire assurez-vous de définir qu'à false.Autre source de divergence:
de base.les espaces
.L'OP mentionne dans les commentaires:
Remarque: lors de la récente Git1.7.2 Notes De Version:
git am
je n'ai courugit stash
, donc je ne pense pas que c'était le problème. Ce que j'ai fait était en cours d'exécutiongit am -3 patch.patch
, puis manuellement la résolution du problème, puis de l'exécution "git am --résolues".merci pour les commentaires. Je l'ai incluse dans la réponse.
OriginalL'auteur VonC
pour moi je suis sur une des versions plus anciennes de
git
(centOS-6 distribution).J'ai été en mesure de résoudre le problème en faisant:
git update-index --refresh
git am ${patch_filename}
pour en savoir plus sur pourquoi cela fonctionne. veuillez vérifier la source d'origine ici:
"
Je suis un peu surpris que nous n'avons pas fait le "actualiser une fois l'avance'
déjà et personne n'a jamais rencontré ce pour les 5 dernières années. Il semble que
J'ai hérité de ce comportement à partir de git-applymbox 😉
Il est judicieux d'actualiser une fois au début et aussi en cas de redémarrage
avec "am --résolu".
"
OriginalL'auteur Trevor Boyd Smith