Как мне обработать слияние SVN после того, как я переместил некоторые каталоги в ветке? - PullRequest
4 голосов
/ 15 февраля 2012

Предположим, у меня есть следующее:

trunk/
|-+ d1/
| |-- bar.c
| \-- foo.c
\-+ d2/
  \-- baz.txt

Я делаю svn cp trunk branch и фиксирую.

Теперь я делаю уборку в branch.

$ svn mkdir src
$ svn mv d1 src/
$ svn commit
$ edit src/d1/foo.c
$ svn commit

Это оставляет меня со следующим в branch

branch/
|-+ d2/
| \-- baz.txt
\-+ src/
  \-+ d1/
    |-- bar.c
    \-- foo.c

Между тем в trunk произошли некоторые изменения (редактирование foo.c и bar.c).

Теперь, с философской точки зрения, я хочу, чтобы структура каталогов branch была отражена в trunk, и я хочу, чтобы изменения, которые я внес в его файлы, тоже там. Но я также хочу правки, которые произошли в trunk, когда я работал. Поэтому я хочу объединить содержимое trunk/d1/foo.c и branch/src/d1/foo.c.

Слияние в любом направлении (trunk до branch или branch до trunk) дает мне массу конфликтов с деревьями. Есть ли лучший способ продолжить работу, чем запускать svn info для каждого конфликта и решать проблемы тщательно и вручную?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Звучит как кандидат на "скачку кролика".

http://designbygravity.wordpress.com/2009/10/19/what-mother-never-told-you-about-svn-branching-and-merging/

0 голосов
/ 22 марта 2013

@ lvmisooners ответ устарел;согласно комментариям в этом блоге, вся статья не имеет значения, так как SVN 1.5.

В общем, часто переходите от магистрали к ветке.Затем в конечном итоге - реинтегрировать ветку в ствол и никогда больше не использовать эту ветвь, в соответствии с http://svnbook.red -bean.com / ru / 1.7 / svn.branchmerge.advanced.html На самом деле, вы можете повторно использовать веткуесли вы выполните трюк Сохранение реинтегрированной ветки на этой странице.

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