2009-07-07 3 views
3

Я пытаюсь составить список измененных/добавленных файлов в репозитории svn, для использования с phing, используя следующую команду.Порядок изменения диапазона svn diff

svn diff --no-diff-deleted --summarize -r 50:HEAD path/to/workingcopy 

Когда я обратный диапазон ревизий (-r переключатель), например, так:

svn diff --no-diff-deleted --summarize -r HEAD:50 path/to/workingcopy 

.. Я получаю разные результаты. Хотя это поведение - то, что мне нужно, я не понимаю его (и, возможно, я чего-то не хватает). Пример:

Предполагая, что в редакторе головы имеется новый каталог с некоторыми файлами: вторая команда будет отображать только новый каталог, в то время как первая команда также будет перечислять все новые файлы внутри него. По крайней мере, это то, что я думаю, что это происходит после некоторых тестов.

Я не мог найти четкой документации по этому вопросу. Может ли кто-нибудь объяснить, что подразумевает порядок диапазона версий? Благодаря!

ответ

6

В первом случае вы получите все изменения, сделанные между ревизией 50 и голова. Это то, чего вы, естественно, ожидаете, поэтому я не буду объяснять дальше. Однако обратный диапазон несколько интереснее. Это разница, которую вам нужно применить к главе, чтобы получить ревизию 50. Короче говоря, она указывает, как отменить все изменения, которые были сделаны. Вы говорите, что «вторая команда будет перечислять только новый каталог», это правильно: он говорит вам удалить каталог, который, естественно, удалит его содержимое.

Смежные вопросы