SVN, как объединить похожие файловые деревья (объединить две ветви) - PullRequest
2 голосов
/ 05 октября 2011

что я хочу сделать:

branch A -> part of the project, e.g:
/project/module/a
/project/module/a/file-1

branch B -> part of the project, e.g:
/project/module/b
/project/module/b/file-2

deployment branch -> merge of A and B
/project/module/a
/project/module/a/file-1
/project/module/b
/project/module/b/file-2

можно подумать, что это возможно, но я не могу заставить его работать ...

что происходит, это:

Я сливаю A в развертывание без проблем, но когда я пытаюсь слить B впоследствии, я получаю конфликт дерева, из того, что я прочитал до сих пор, svn думает, что A "удален" B и наоборот ... так что же это за конфликт? svn способен объединять только одно и то же дерево?

если я правильно понял концепцию ветвей, то нужно создать их, скопировав ствол, таким образом, скопировав весь источник ... поэтому размещение модулей (частей всего источника / проекта) в ветви не является хорошей идеей или даже невозможно?

мне нужно просто добавить материал, не пытаясь найти пересечение A и B, потому что на самом деле это не сработает: /

_ EDIT _

объединение из / project / module / a и / project / module / b не помогает, поскольку модуль разбивается на несколько папок, например:

A:    
/project/module/stuff/a
/project/module/things/a    
B:    
/project/module/stuff/b
/project/module/things/b

Итак, что нужно, это как минимум объединить модуль, иначе нужно объединить каждую подпапку индивидуально, что противоречит всему автоматическому объединению ...?

кстати, эта структура не мой выбор, я должен работать с ней

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Если у модулей нет общих родителей, это может привести к странным результатам

С другой стороны svn merge принимает URL как оба параметра

Можете ли вы показать реальные полные команды, используемые в задании? Я не вижу проблем в уме

svn merge URLBranchA URLBranchB .

И действительно, с описанным деревом вы должны использовать svn; external и вообще забыть о слиянии

0 голосов
/ 05 октября 2011

слияние начинается с модуля, а не с основания дерева: поэтому для модуля a начните слияние с / project / module / a а для модуля b начните слияние с / project / module / b

...