2013-04-20 2 views
7

Я думал, что обычно, когда вы введете ветку, вы введете весь багажник, но в моей компании я видел, как люди впадают в подпапки ствола и глубже - есть ли какие-либо практические последствия этого, кроме путаницы, когда вы пытаетесь найти правильный каталог в сундук, чтобы слиться обратно?Каковы последствия создания ветки из подпапки ствола в SVN?

ответ

7

Проблема не ветвление .. это сращивание:

Никогда сливаются обратно в такую ​​папку «поддерева». Зачем? Subversion сохранит свою информацию о слиянии в эту папку поддерева. И как только это произойдет, никто больше не сможет использовать merge -reintegrate.

Look here for more information:

Избегайте поддерево слияния и поддерево mergeinfo, выполнять слияние только на корень из ваших филиалов, а не на подкаталоги или файлы

Это означает, что до тех пор, пока у вас есть поддерево слияния -infos, висящий в вашем багажнике, вы не можете использовать параметр -reintegrate, который вы обычно должны использовать, потому что таким образом слияние намного проще.

3

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

Это означает, что вы выбираете корень для использования в качестве ветки и придерживаетесь его, даже если это означает разветвление только с верхнего уровня. После этого все становится намного проще. Стоимость разветвления пренебрежимо мала, даже если вы это сделаете.

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