web-dev-qa-db-fra.com

Comparaison de branche SVN

Comment comparer une branche à une autre? Je veux comparer une branche avec la dernière révision dans le coffre.

40
tekumara

Vous pourriez commencer avec:

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

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

Cela imprimera une grande quantité de texte, y compris toutes les modifications textuelles mais pas les modifications binaires, sauf pour dire où et quand elles se sont produites.

61
Edmund

Si vous recherchez simplement un niveau élevé de fichiers différents et que vous ne voulez pas voir tout le contenu, utilisez:

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

(Ceci compare le tronc et la branche dev)

13
cchamberlain

Je vérifie généralement les deux branches (ou la branche et le tronc) dans des répertoires . J'utilise ensuite un outil graphique comme Kompare ou similaire (selon vos préférences, le système d'exploitation, ...) . très utile pour moi lorsque je dois effectuer des fusions complexes. 

4
CMorgan

Comme le manque de réputation ne me laisse pas ajouter ceci en tant que commentaire par rapport à une réponse existante, je dois l’ajouter séparément.

Une option utile pour svn diff pour moi était --ignore-properties. Mes deux branches avaient abouti au même code, mais avec des historiques de fusion différents.

Utiliser --ignore-properties m'a permis de me prouver que tel était le cas, sans parcourir la grande quantité de modifications de la propriété "svn: mergeinfo".

3
Michael Firth

Voici la documentation pour la commande svn diff.

1
Michael Hackner

Merci pour l'info les gars, je voudrais ajouter quelque chose pour améliorer la lisibilité des résultats de diff.Si vous avez utilisé: > svn_diff_filename.txt

Vous pouvez utiliser: Findstr "Index:" C:\path\svn_diff_filename.txt> svn_diff_file_list.txt

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

1
Kra.

Voici un post de Murray Cumming qui décrit le processus non évident:

  • Découvrez les numéros de révision: Vous devez connaître les numéros de révision des dernières versions dans chacune des branches. Il semble que svn log soit le seul moyen de le faire.
  • cd dans l’un des répertoires des branches, tels que trunk.
  • Fournissez les numéros de révision à la commande svn diff: svn diff -r123:145
0
Stef

Pour faire la différence entre deux révisions d’une branche:

svn diff -r rLATEST:rOLD

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

0
arush436