Как удалить устаревшие свойства svn:mergeinfo при реинтеграции?
Я хотел работать над небольшим набором изменений независимо от других моих разработок в проекте. Я использовал это как руководство.
Я начал с выполнения svn cp из / trunk / app / module в / branch /pete/feature-branch, это был r393
После некоторых изменений и слияния туда и обратно между стволом и ответвлением, чтобы держать вещи в актуальном состоянии, я закончил с моей функцией и вернулся к работе над стволом.
Через пару ревизий я решил, что, возможно, мне следует очистить свою ветку функций, поэтому я попытался ее реинтегрировать.
- Я проверил свежую копию функции ветви и ствола.
- Я слил изменения в стволе в ветку функций и зафиксировал их
- Затем я сделал слияние --reintegrate ^/branch / pete / feature-branch на стволе, в результате чего получился r434
С точки зрения кода все выглядит нормально, но теперь у моего транка / приложения / модуля все еще есть свойство svn:mergeinfo.
$ svn pg svn:mergeinfo
/branches/pete/feature-branch:393-433
Из того, что я понимаю, svn:mergeinfo должен быть пустым, и эти ревизии должны быть "исключены" или это нормально?
1 ответ
Эта информация в подпапке показывает, что вы (случайно?) Слились в подпапку (не в транк, а в / trunk / app / module).
Subversion теперь знает, что больше не будет сливать эти ревизии из этой ветки. Обычно вы должны объединять только самую верхнюю папку, поэтому mergeinfo находится только в этой папке.
SVN-Team не рекомендует объединять только подкаталог ( см. Тему книги SVN здесь)
Избегайте слияний поддеревьев и слияний поддеревьев. Выполняйте слияния только в корне ваших веток, а не в подкаталогах или файлах (см. Раздел "Слияние поддеревьев и слияние поддеревьев").
Тем не менее, все слияния возможны, но в итоге вы получите много (разных) слияний на разных уровнях папок, что впоследствии затруднит понимание того, что происходит и почему SVN ведет себя таким образом.
Также всегда можно (не рекомендуется!) Удалить свойство merge-info, чтобы "сбросить" функцию слияния. В основном это делается также путем удаления ветки. Тогда риск повторного слияния обычно незначителен.