Слияние транка с веткой с использованием subversion и intellij - PullRequest
2 голосов
/ 08 марта 2012

Я сделал целую кучу изменений в одной из веток.Сейчас я пытаюсь объединить эти изменения со стволом.Чтобы сделать это, я создал две рабочие папки на моей машине с именами BRANCH и TRUNK.Я сделал svn co филиала в каталоге BRANCH и svn co trunk в папке TRUNK.Как только проверка была завершена, я продолжил и открыл историю подрывных операций всех проверок, которые я сделал в ветке.После того, как я получил номера версий для всех моих регистраций, я вошел в папку TRUNK и выполнил следующую команду:

 svn merge --dry-run -r1xx0:1xx1 svn+ssh://pathtomybranch/

Забавно, что приведенная выше команда выполняется без вывода, что по сути указывает намоя ветка и моя версия не имеют никаких различий.Что невозможно, так как содержимое файлов для версии, которую я пытаюсь объединить, отличается.

У кого-нибудь есть идеи о том, что здесь может пойти не так?

Спасибо

1 Ответ

5 голосов
/ 08 марта 2012

Сначала необходимо обновить ветку всеми изменениями, которые были внесены в ствол с момента создания ветки (вы можете пропустить этот шаг, если в ствол не было внесено никаких изменений с момента создания ветки):

cd branch
svn merge url://of/trunk

Затем вы можете выбрать один из двух идентичных (?) Методов:

1) использовать ветвь реинтеграции:

cd trunk
svn merge --reintegrate url://of/branch

или 2) использовать объединение двух деревьев:

cd trunk
svn merge url://of/trunk url://of/branch

Метод 2) вычисляет различия между двумя деревьями "ствол" и "ветвь" и объединяет их обратно в текущий каталог (который является стволом).

Метод 1) простосинтаксический сахар для метода 2).

Обратите внимание, что ни для одного из двух методов не нужно указывать номера ревизий.Все последние версии SVN обрабатывают это автоматически для вас.

...