L'aide de la sortie de diff pour créer le patch
J'ai quelque chose comme ce
src/sim/simulate.cc
41d40
< #include "mem/mem-interface.h"
90,91d88
< dram_print_stats_common(curTick/500);
<
src/mem/physical.hh
52d51
< public:
55,56d53
< public:
<
58a56,57
> public:
>
61,62c60,61
< virtual bool recvTiming(PacketPtr pkt); //baoyg
<
---
Je crois que cela a été créé à l'aide de la commande diff dans une arborescence source. Ce que je veux, c'est créer le patch à l'aide de cette sortie, et à appliquer les mêmes modifications à mon arbre source.
- Les réponses à cette question semblent hors-sujet, maintenant qu'elle a été modifiée pour afficher un autre format diff de la question d'origine.
Vous devez vous connecter pour publier un commentaire.
Je crois que
diff -u oldfile newfile > a.patch
est utilisé pour créer des fichiers de correctifs, bien que certains autres de commutation peut être jetée ainsi (N?).Edit: OK, 4 ans plus tard et enfin d'expliquer ce que les commutateurs de dire:
-u
crée un Unifiée diff. Diff unifié, c'est le genre de diffs que le patch s'attend à obtenir de l'entrée. Vous pouvez également spécifier un nombre après lau
(min 3, par défaut 3) pour augmenter le nombre de lignes de sortie. C'est dans le cas 3 lignes n'est pas assez unique pour repérer un endroit dans le programme.-N
traite absent fichiers comme étant vide, ce qui signifie qu'il va produire beaucoup de contenu supplémentaire si l'un des fichiers est vide (ou voir le point suivant).Aussi,
newfile
etoldfile
peuvent être tous les deux répertoires au lieu de simples fichiers. Vous aurez probablement envie de la-r
argument en faveur de ce de manière récursive tous les sous-répertoires.Si vous voulez obtenir le même patch sortie de SVN diff, compte tenu de deux fichiers différents:
-N
est ce qui fait la diff récursive, qui est en fait le point de-r
.)Ce que vous avez là est un non-unifiée diff. patch peut le lire, mais sera incapable de faire le contexte des matches et est plus susceptible de faire des erreurs.
Que est (partielles) fichier de patch, mais il aurait été mieux si ils ont fourni un diff unifié de sortie.
Le principal problème avec ce patch, c'est qu'il ne mentionne pas les fichiers qui sont modifiés, et depuis il n'y a pas de contexte, les fichiers doivent être exacte, patch sera pas en mesure de permettre des changements mineurs dans le fichier.
Copie de la diff dans le post original à un patch fichier nommé
test.patch
puis exécutez@Sparr et @Arafangion point que cela fonctionne mieux si vous avez exactement le fichier d'origine est à l'origine de diff.