2010-12-15 5 views
1

J'ai besoin de savoir quels fichiers ont changé dans ma jonction Subversion, qui n'ont pas changé sur une branche spécifique ainsi que les fichiers ont changé dans les deux.Dans Subversion, liste les fichiers qui ont changé sur le tronc mais pas sur une branche et qui ont changé dans les deux

Actuellement, mon approche est d'obtenir la liste des fichiers modifiés dans le tronc et la branche et d'utiliser un outil de comparaison de fichiers pour voir les différences.

Y a-t-il une meilleure technique que celle-ci?

Répondre

1

Lorsque vous avez accès à un shell unix (ou uniq, trier et outils sed), vous pouvez effectuer les opérations suivantes:

# getting the changed file list in trunk 
svn diff --summarize /path/to/repos/[email protected] /path/to/repos/trunk | sed -e 's/......//' > changes-trunk 
# the sed part removes the status columns, which might cause uniq to fail identifying equal files 

# getting the changed file list of the branch 
svn diff --summarize /path/to/repos/[email protected] /path/to/repos/branch/foobar| sed -e 's/......//' > changes-branch 
# display the files which changed on both branches 
sort changes-trunk changes-branch | uniq -d > possible-conflicts 

# getting the base file list 
svn ls -R /path/to/repos/[email protected] > files-base 
# getting the list of files not changed in trunk 
sed -e "s# /path/to/repos/[email protected]/##" changes-trunk | sort - files-base | uniq -u > untouched 
Questions connexes