Я не сразу вижу решение, но было бы достаточно просто что-то придумать. То, что я вам даю, не проверяется.
Сначала вы должны составить список каталогов, которые вы хотели бы исключить. Вызывается ~/.svn-слияния-исключает
#regexes to exclude
./helpfiles/
./deploy_scripts/
./models/customer_integration
Тогда можно было бы написать еще один сценарий, чтобы вернуть эти каталоги в отрасли после слияния с turnk в них.
#/usr/bin/bash
# I am assuming that you made the excludes based on the root directory
# so that relative paths will work
for dir in $(cat ~/.svn-merge-excludes) ; do
svn revert -R $dir
done
Это должно сработать. Большим преимуществом здесь является опция «-R» в возвращении, действующая рекурсивно в каталог. Поэтому ваш рабочий процесс будет выглядеть примерно так.
# cd path/to/branch
# svn merge -r123:245 svn://svnserver.com/svn/trunk
# revert_excludes_from_branch.sh
Затем вы будете обрабатывать конфликты, а затем совершать. Если вы используете окна, тогда будет работать командный файл, вы можете просто набирать команды повтора последовательно.
Возможный дубликат [Как игнорировать папку во время слияния с субверсией] (http://stackoverflow.com/questions/1559552/как игнорируемые-папку-во-диверсионной-слияния) –