J'essaie de faire un patch comme présenté ici .
Disons que j'ai deux répertoires pp1(modified version)
et que pp0(clean version)
je crée un fichier patch pp0.patch
avec la diff
commande:
diff -crB pp0 pp1 > pp0.patch
Le problème est que s'il n'y a qu'un fichier en pp1, il ne sera pas inclus dans le patch. Comment contourner cela?
MISE À JOUR :
Je change d'abord dans le répertoire de pp0 et teste si le patch réussira
patch --dry-run -p1 -i /path-to-pp0.patch
Bien que j'aie ajouté --new-file
à la diff
commande, ceux uniquement dans pp1
ne sont pas répertoriés dans le résultat
MISE À JOUR :
J'ai accidentellement corrigé le mauvais fichier afin
diff -crb --new-file pp1 pp0 > pp0.patch
ou
diff -crNb pp1 pp0 > pp0.patch
ça ira
La réponse immédiate :,
diff -N
comme l'a expliqué Pootzko . Vous constaterez que de nombreux correctifs sont créés pardiff -urN
.Ce qui peut vous rendre la vie meilleure: commencez à utiliser un outil de contrôle de version. Si vous n'en connaissez pas, commencez par l'un des trois principaux systèmes de contrôle de révision distribués , Bazaar , Git ou Mercurial . Enregistrez la version propre, travaillez, enregistrez votre travail autant de fois que vous le souhaitez et demandez à votre système de contrôle de version un écart entre la version propre et votre travail.
la source