Почему TortoiseSVN (1.5.3) пытается объединить 1-головку, когда я вытаскиваю из ствола?
Я использую 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 и что нет способа использовать отслеживание слиянием? Это казалось бы немного странным.
2 ответа
Решено: Ответ, кажется, сводится к обходному пути, который мы реализовали здесь для некоторых предыдущих ошибок в Subversion.
Обходной путь включал использование SomeUserName@, помещаемого в URL. таким образом
http://SomeUsername@Myserver:8080/myrepo/trunk
... использовался вместо...
http://Myserver:8080/myrepo/trunk
Кажется, что рабочая копия ветви была получена без этого добавления, и слияние было сделано с URL-адресом с этим дополнением. это привело к тому, что Subversion пришла к выводу, что они являются двумя разными URL-адресами, и, естественно, вывела (ish), что у них нет общей истории, из которой можно найти начальную точку для слияния.
Таким образом, решение состоит в том, чтобы гарантировать, что формат URL-адреса "из", используемого для слияния, совпадает с форматом URL-адреса, используемого рабочей копией.
Я думаю, что вы должны использовать ветку как ваш URL. Причина в том, что ваша версия ствола теперь выше, чем ваша ветка, и поэтому вам нужно начинать с самой низкой версии.