appliquer svn patch pour le dépôt git
Ok, j'ai essayé toutes les réponses que j'ai pu trouver sur stackoverflow, mais apparemment, aucun ne semble être en mesure de résoudre mon problème. Je veux appliquer un patch fait par SVN pour un dépôt git. Apparemment, la meilleure façon de le faire est par l'utilisation de git "appliquer", mais cela ne semble pas fonctionner.
$ git apply --ignore-space-change --ignore-whitespace < xxx_parser.patch
<stdin>:10: trailing whitespace.
FORCE_LA_CHECK = false; stdin:23: trailing whitespace.
<stdin>:79: trailing whitespace
.
.
.
.
error: pmd/grammar/JspParser.jjt: No such file or directory
error: patch failed: pmd/pom.xml:251
error: pmd/pom.xml: patch does not apply
C'est le contenu de xxx_parser.patch:
$ head xxx_parser.patch Index: etc/grammar/JspParser.jjt
--- etc/grammar/JspParser.jjt (revision 7704)
+++ etc/grammar/JspParser.jjt (working copy)
maintenant pourquoi faut-il se plaindre qu'il ne peut pas trouver le fichier pmd/grammaire/JspParser.jjt?
Le chemin d'accès dans le patch est orientée vers le bon répertoire.
- Vous savez qu'un fichier de correctif peut-être des modifications pour plus d'un fichier à droite? Simplement en regardant la tête du fichier que vous avez ici vous indiquera seulement le premier fichier dans le patch.
Vous devez vous connecter pour publier un commentaire.
J'ai eu quelques questions de l'application de SVN généré des patchs avec git. Je vous recommande l'application de toute subversion correctifs directement avec
patch
de commande, et l'utilisation de git pour vérifier que ledit patch a été appliqué avec succès.assert (s && size)
a bug "\ No newline at end of file" dans les anciennes versions de patch. Heureusement, il a été résolu. S'assurer que votre système est à jour avec des patch-2.7.1.@emcconville réponse fonctionne si vous avez
patch
comme une commande exécutable en ligne de commande.Pour les autres:
Aller le repo svn
svn diff --git >> gitFormat.patch
De votre (Copiez ce fichier à l') repo git
git appliquer gitFormat.patch
-p<n> Remove <n> leading slashes from traditional diff paths
pourrait être utile