Почему TortoiseSVN (1.5.3) пытается объединить 1-головку, когда я вытаскиваю ее из багажника?

#svn #tortoisesvn #merge-tracking

Вопрос:

Я использую TortoiseSVN 1.5.3 и VisualSVN 1.5.3 (Subversion 1.5.2)

Предположим, что я создаю новую ветвь (/ветви/ветвь1) ствола(/ствол), а затем кто-то (также использующий TortoiseSVN 1.5.3) объединяет свою ветвь обратно в ствол.

Я пытаюсь слиться из ствола в ветвь (чтобы получить все изменения, которые могли быть объединены в ствол другими).

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

Когда я начинаю слияние, диалоговое окно вывода, похоже, объединяет каждую редакцию обратно в редакцию 1. Это приводит к тому, что все в репозитории «добавляется».

Что я делаю не так?…. Я ожидал, что будет нацелена одна ревизия, и это будет очень быстрая операция.

Я пытался…

 SVNAdmin Upgrade <MyRepoPath>
 

Это привело к мгновенному сообщению об успехе, после чего я повторил свой эксперимент без изменений в результатах

Обновление: Я заметил, что в диалоговом окне TortoiseSVN говорится: «Чтобы объединить все версии, оставьте поле пустым»…. означает ли это, что TortoiseSVN добавляет эксплицитность с 1 заголовком и что нет возможности использовать отслеживание слияния? Это показалось бы немного странным.

Ответ №1:

решенный: Ответ, по-видимому, сводится к обходному пути, который мы реализовали здесь для некоторых предыдущих ошибок в Subversion.

Обходной путь заключался в использовании имени пользователя@, размещенного в URL-адресе. таким образом

 http://SomeUsername@Myserver:8080/myrepo/trunk
 

…использовался вместо…

 http://Myserver:8080/myrepo/trunk
 

Похоже, что рабочая копия ветви была получена без этого добавления, и слияние выполнялось по URL-адресу с этим добавлением. это привело Subversion к выводу, что это были 2 разных URL-адреса, и, естественно, (иш) сделал вывод, что у них не было общей истории, из которой можно было бы найти начальную точку для слияния.

Таким образом, решение состоит в том, чтобы убедиться, что формат URL-адреса «от», используемого для слияния, соответствует формату URL-адреса, используемого рабочей копией.

Ответ №2:

Я думаю, вам нужно использовать ветку в качестве URL-адреса «От». Причина в том, что ваша версия магистрали теперь выше, чем у вашей ветви, и поэтому вам нужно начать с самой низкой версии.

Комментарии:

1. Я не думаю, что это правильно. Я хочу объединить информацию из ствола в свою ветвь. Однако я все же попробовал это сделать… просто чтобы посмотреть, что произошло, и, как ни странно, я получил почти тот же эффект, что и изначально.

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