Je souhaite déplacer deux fichiers d'un référentiel à un autre. Les fichiers ont été initialement ajoutés comme:Création de correctifs Git pour deux fichiers sur plusieurs renames
/src/init/Price.cs
/tests/init/PriceTests.cs
Les plus tard deux fichiers ont été renommés:
/src/init/PriceValue.cs
/tests/init/PriceValueTests.cs
Et puis déplacé à:
/src/moved/PriceValue.cs
/tests/moved/PriceValueTests.cs
J'ai essayé d'aller par this description pour créer un ensemble de correctifs pour ces fichiers, mais je ne suis pas sûr comment passer dans les six chemins différents les fichiers ont existé.
J'ai réussi à trouver tous les commettre ID affectant PriceValue.cs
(à travers renommages et les déplacements), mais en passant ces ID à Git échoue avec le message d'erreur suivant:
$ git format-patch -o /tmp/pricevaluepatches $(git log --all dfeeb 6966b 9f882 …)
-bash: /usr/local/bin/git: Argument list too long
Alors, comment puis-je créer un ensemble de correctifs pour cela qui contient uniquement les modifications apportées aux fichiers mentionnés, mais le contient à travers un renommage et un déplacement de chaque fichier?
Avez-vous essayé de mettre tous les ID de validation dans un fichier 'ids.txt' (un par ligne) et d'exécuter' cat ids.txt | xargs git format-correctif -o/tmp/pricevaluepatches'? –
De plus, vous n'avez pas besoin d'exécuter 'git log --all ...' dans votre commande. Un simple 'git format-patch -o/tmp/pricevaluepatches dfeeb 6966b 9f882 ...' devrait suffire. –
@NilsWerner, merci pour les suggestions. Cela ne corrige que la moitié du problème. À partir des validations reconnues par les ID que j'ai, comment puis-je appliquer uniquement les changements qui affectent 'PriceValue.cs' et' PriceValueTests.cs' à travers le changement de nom et le déplacement? –