Если вы скопировали ветвь из ствола с помощью svn cp
, вы должны реинтегрировать его обратно с помощью svn merge --reintegrate
.Вы объединяетесь без --reintegrate
и с определенным диапазоном ревизий -r ...
(почему?).
Таким образом, рабочий процесс обычно должен выглядеть следующим образом:
svn cp ^/trunk/ ^/branch/foo
#In the foo branch working copy:
foo $ work, work, work...
#In the working copy of trunk:
trunk $ svn merge --reintegrate ^/branch/foo
Затем выполнение svn diff
покажет вам все изменения, которые вы сделали в ветке:
trunk $ svn diff
... all the changes that were done in foo ...
Есть еще один способ решить вашу проблему.Чтобы получить различия всех (или части) изменений, которые были сделаны в конкретной ветке, вам не нужно объединять.Использование svn diff
достаточно:
Определите, какие изменения вы хотите видеть в diff.Используйте svn log
, чтобы проверить, ОТ КОТОРОГО и какой ревизии была выполнена работа:
svn log -v |less
Если вы хотите определить, в какой ревизии вы создали ветку, выполните:
svn log -v --stop-on-copy | less
Последняя запись в журнале будет первой ревизией ветви.
Теперь выполните svn diff
с -r
(диапазон):
svn diff -r FROM-1:TO .
Вы можете использовать ключевое слово HEAD
вместономер ревизии, чтобы указать последнюю зафиксированную ревизию в ветке.
Таким образом, чтобы получить различие всей работы вашей ветки, вам нужно будет выполнить:
svn diff -r FIRST_BRANCH_REV:HEAD
где FIRST_BRANCH_REV
является первымревизия ветки.