J'ai deux arbres de code source presque similaires, mais n'ont pas accès au référentiel de code source, donc je suis bloqué avec des packages de libération contenant également des rapports de test, une documentation, des binaires, etc. P>
the DIFF code> ne prend en charge que
- exclure code>, mais je voudrais faire quelque chose comme
diff -wbur -include = '*. C, *. .h 'Tree1 Tree2 Code> P>
5 Réponses :
peu de modification à un résultat de Google aidé, dans Tree1 Code> a fait
. -Name '*. [CH]' -EXEC DIFF -WIBU {} ../ Tree2 / {} \; CODE> P>
Pour les arbres source C ++, essayez -Name '* .h "-o -name" * .cpppp " code> dans la commande ci-dessus.
Voici un petit script de fabricant de correctifs:
J'exclureais tout ce qui ne correspond pas à .c ou .h. Donc, cela signifie qu'il n'inclut que les fichiers .C et .h: pour moi c'est la meilleure façon de le faire car vous n'utilisez que DIFF P> P>
Cela ne fonctionne pas correctement: il comprend des extensions telles que .CPP, .hxx, .cache et .help.
J'ai proposé une solution plus facile que de trouver des mainteneurs diff, voici le fil: http://lists.gnu.org/archive/html /bug-diffutils/2014-10/msg00000.html p>
L'idée est de fournir une nouvelle option qui indique à DIFF d'analyser les fichiers correspondant à une regex, comme:
Voici les instructions pour patcher Diffutils P>
clone le repo
exécuter Téléchargez le patch du lien ci-dessus p>
appliquer
Configurer et compiler
Ceci créera la diffamation DIFF dans SRC / DIFF P>
acclamations p> DIFF -NURP --Only "*. [HC]" Source / Source-Nouveau / Code> P>
git clone git: //git.savannah.gnu.org/diffutils.git code> p>
bootstrap.sh code> dans le répertoire diffutils et résolvez les dépendances jusqu'à ce qu'elle crée le script ./cofigure P>
git appliquer
./ configure code>
faire code> p>
J'ai ajouté le patch qui résout mon problème. Semble maintenant être une bonne réponse pour moi :)
Vous pouvez écrire tous les fichiers pour exclure dans un fichier temporaire et le donner à l'argument -x code> de DIFF.
diff -wbur tree1 tree2 \
-X <(find tree1 tree2 -type f -not -name '*.java' -and -not -name '*.sql')