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

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

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

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

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

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

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

Я пытался ...

SVNAdmin Upgrade <MyRepoPath>

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

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

Ответы [ 2 ]

1 голос
/ 07 октября 2008

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

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

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

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

http://Myserver:8080/myrepo/trunk

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

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

0 голосов
/ 06 октября 2008

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

...