Проблема слияния транка в неизмененную ветку в SVN
У меня есть репозиторий SVN, где у меня есть следующая структура:
+-trunk
| |
| +-dir1
| |
| +-dir2
|
+-branches
|
+-tags
Я пытаюсь внести некоторые существенные изменения в dir1, поэтому я создал для него новую ветку, поскольку dir2 довольно тяжелый, и потребуется много времени, чтобы проверить его для каждой новой создаваемой мной ветви. Итак, я сделал это:
$ svn copy http://server/svn/project/trunk/dir1 http://server/svn/project/branches/branch1 -m "creating a new branch"
$ svn co http://server/svn/project/branches/branch1
Пока проблем нет. Проблема возникает всякий раз, когда я пытаюсь объединить транк в новую ветку снова.
$ cd branch1
$ svn merge http://server/svn/project/trunk/dir1
Когда я делаю это, я получаю что-то вроде этого:
C file1
C file2
[many C lines here]
Summary of conflicts:
Tree conflicts: 114
Важной деталью является то, что я пытаюсь объединиться сразу после создания и проверки ветви, поэтому нет изменений в ветви или стволе.
Итак, что я здесь делаю не так? Почему я получаю все эти конфликты деревьев?
Заранее спасибо!
2 ответа
Я закончил тем, что нашел проблему.
Мой SVN-сервер < 1.5, а информация о слиянии веток хранится на сервере только с 1.5.
Поэтому, когда я выполнял слияние, вместо слияния из ревизии, в которой было создано слияние, оно объединяло все ревизии, начиная с 1, и из-за этого было так много конфликтов деревьев.
Мы кратко обсудим, как обрабатывать слияния, когда ваш репозиторий не поддерживает отслеживание слияний, в книге "Контроль версий с Subversion". См. Боковую панель "Синхронизация ветви без отслеживания слияний" в этом разделе книги ( http://svnbook.red-bean.com/en/1.7/svn-book.html).