Это очень распространенная ситуация, и я не могу найти в svn документации или google-fu решение для нее.
Предположим, я копирую ветку из "заведомо исправной" ревизии ствола, и япроверить это:
>svn copy -m 'my branch' -r 100 svn+ssh://svn/trunk svn+ssh://svn/my_branch
>svn co svn+ssh://svn/my_branch
>cd my_branch
Теперь я делаю много правок для файлов в каталоге my_branch
, и периодически сливаюсь с "хорошо известными" ревизиями ствола, например:
>svn merge -r 100:110 svn+ssh://svn/trunk
В любой момент времени я и мой рецензент хотим видеть все различия для всех файлов в каталоге my_branch
по сравнению с последней ревизией слитка, с которым я слился (это мои правки + возможно, в результате измененийот конфликтующих слияний).Итак, все различия между всеми файлами в рабочей копии по сравнению с соответствующими файлами в ревизии 110 svn+ssh://svn/trunk
.
Как это сделать?
Редактировать: uzsolt предложил следующее:
svn diff ^/trunk@REV1 ^/my_branch@REV2
Это хорошее начало, но я уже сделал что-то подобное, и есть две проблемы с этим предложением:
1. Он печатает мои изменения, плюс несколько миллиардов:
Property changes on: path/to/foobar
___________________________________________________________________
Modified: svn:mergeinfo
Merged trunk:r90-110
Я не хочу их.
2. Я не хочу фиксировать свои изменения, а затем сравнить эту ревизию с ревизией транка.Я хочу сравнить рабочую копию с ревизией ствола.