2010-12-15 4 views
1
.

Мне нужно знать, какие файлы были изменены в моей соединительной линии Subversion, которые не были изменены на определенной ветке, а также что файлы изменились в обоих.В Subversion перечислены файлы, которые были изменены на соединительной линии, но не на ветке, и которые были изменены как в

В настоящее время мой подход состоит в том, чтобы получить список измененных файлов в багажнике и ветке и использовать инструмент для анализа файлов, чтобы увидеть различия.

Есть ли лучшая техника, чем эта?

ответ

1

Если у вас есть доступ к оболочке UNIX (или Uniq, сортировки и SED инструментов), вы можете сделать следующее:

# 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 
Смежные вопросы