Comment appliquer un fichier diff pour un dossier, à l'aide de patch, sur un autre dossier lorsque le chemin d'accès complet est présent?

J'ai téléchargé un fichier diff de modifier un certain nombre de fichiers versionnés répertoire du projet (Xerces 2.8). La diff fichier contient le chemin d'accès complet pour chaque "gauche" fichier (celui qui est représenté par le signe). Le "droit" de fichier (signes+) contient un chemin d'accès relatif. Par exemple:

--- /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_xercesc/work/xerces-c-src_2_8_0/src/xercesc/util/Platforms/MacOS/MacCarbonFile.cpp  2007-08-28 20:44:07.000000000 +0200
+++ src/xercesc/util/Platforms/MacOS/MacCarbonFile.cpp  2009-10-28 19:37:22.000000000 +0100

Ma copie locale du répertoire du projet que j'aimerais mettre à jour avec le fichier diff est, bien sûr, sur un autre chemin d'accès complet.

Je ne peux pas comprendre où placer le fichier diff (ou plutôt, dans ce répertoire afin de me positionner quand je lance patch) et ce qui commande à exécuter.

Parce que le second (+) fichier est un chemin relatif, j'ai pensé que le positionnement de moi-même dans l'emplacement approprié dans mon système de fichiers local, de sorte que le chemin d'accès relatif est correcte et puis l'émission de la commande

patch -i patchfile

... serait de travailler. Il n'a pas (au lieu de cela, patch présente à moi avec une invite pour chaque fichier, car il ne peut pas le localiser).

Quelle commande dois-je question pour obtenir le fichier diff de fusionner à l'aide de patch?

OriginalL'auteur Dan Nissenbaum | 2011-07-15