2009-11-24 4 views

Répondre

56

Vous pouvez commencer par:

svn diff http://REPOS/trunk http://REPOS/branches/B 

(. Où http://REPOS est votre chemin du référentiel, y compris les parents de trunk et branches)

Cela permettra d'imprimer une grande quantité de texte, y compris tous les changements de texte, mais pas les changements binaires, sauf pour dire où et quand ils se sont produits .

+12

Merci! Votre réponse m'a conduit à ce http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-diff.html qui explique comment faire de même avec TortoiseSVN – tukushan

+0

Graphe -> 'svn diff ^/trunk ^/branches/B' – cchamberlain

0

Voici un post from Murray Cumming qui décrit le processus non évidente:

  • Découvrez les numéros de révision: Vous devez connaître les numéros de révision des versions les plus récentes dans chacune des branches. Il semble que svn log soit le seul moyen de le faire.
  • cd dans l'un des répertoires de la branche, tel que le tronc.
  • fournir les numéros de révision à la commande svn diff: svn diff -r123:145
+1

Cela ne vous dira-t-il pas ce qui a changé dans 'trunk' depuis le dernier commit de la branche? Toutes mes excuses si quelque chose me manque - il se fait tard ici ... – SimonJ

+0

Vous n'avez pas besoin de chercher le dernier numéro de révision dans chaque branche: il suffit d'utiliser 'HEAD'. Mais ce n'est pas ce que le PO demandait - il voulait comparer entre sa branche et son tronc, pas entre deux révisions dans la même branche. – Ether

1

Merci pour l'info les gars, je voudrais ajouter quelque chose pour améliorer la lisibilité des résultats diff.Si vous utilisé: svn diff svn: // url: 9090/branches/PRD_0002 svn: // url: 9090/branches/TST_0003> svn_diff_filename.txt

vous pouvez utiliser: findstr "Index:" C: \ chemin \ svn_diff_filename.txt> svn_diff_file_list.txt

qui vous apportera une liste lisible des fichiers qui ont des différences.

4

Je vérifie habituellement les deux branches (ou la branche et le tronc) dans les répertoires. Ensuite, j'utilise un outil graphique comme Kompare ou similaire (en fonction de vos préférences, système d'exploitation, ...). Ceci est vraiment utile pour moi lorsque j'ai besoin d'effectuer des fusions complexes.

0

Pour diff entre deux révisions d'une branche:

svn diff -r rLATEST:rOLD 

Utilisez svn log pour obtenir les différentes révisions. L'utilisation peut limiter le nombre de révisions dans le journal en utilisant svn log -l 5. seules les 5 dernières révisions seront affichées.

12

Si vous êtes à la recherche de haut niveau de quels fichiers sont différents et ne veulent pas voir tout le contenu, utilisez:

svn diff ^/trunk ^/branches/dev --summarize

(Cela se compare tronc et branche dev)

2

Comme le manque de réputation ne me permet pas d'ajouter ceci comme commentaire contre une réponse existante, je dois l'ajouter en tant que réponse séparée. Une option utile pour svn diff pour moi était --ignore-properties. Mes deux branches avaient fini par être identiques, mais avec des historiques de fusion différents.Utiliser --ignore-properties m'a permis de me prouver que c'était le cas, sans passer par la grande quantité de changements de propriétés "svn: mergeinfo".

Questions connexes