Utilisez svn patch
.
Cas 1 :utilisation de /usr/bin/patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
patch -p0 < $TMPDIR/mypatchfile.patch
Applique bien vos modifications s'il n'y a pas de fichiers ajoutés/supprimés via svn add
ou svn delete
Cas 2 :utilisation de svn patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
svn patch $TMPDIR/mypatchfile.patch
Suit également les fichiers ajoutés et supprimés.
Notez qu'aucune des pistes svn move
s et rename
s
Par défaut, patch
ignore la partie répertoire du nom de fichier cible ; il recherche simplement "httpd.conf" dans votre répertoire de travail actuel. Si vous voulez qu'il utilise le chemin complet, vous devez lui demander explicitement de le faire avec le -p
choix :
patch -p 0 < httpd.patch
Le nombre après -p
est le nombre de niveaux à supprimer du chemin du nom de fichier ; -p N
supprime tout jusqu'au numéro de barre oblique N compris. La première barre oblique est le numéro 1, donc -p 0
signifie "ne rien enlever".
En général, il vaut peut-être mieux ne pas compter sur le chemin complet dans le fichier de correctif; le correctif sera plus généralement utile s'il fonctionne même pour les fichiers dans une disposition de répertoire différente. Vous pouvez toujours accéder au répertoire contenant le fichier avant d'exécuter patch (et utiliser un chemin complet pour trouver le fichier patch lui-même, si nécessaire, à la place).