svn-merge задом наперед? - PullRequest
3 голосов
/ 20 мая 2009

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

У меня было 2 ответвления Эксперимент / Ствол

Я сделал все, что хотел в эксперименте, и слил его обратно в багажник. Используя Черепаху, я щелкнул правой кнопкой мыши Эксперимент-> Слияние. Я выбрал «Объединить два разных дерева» и на этом все (оставил все остальное по умолчанию). Я проверил, чтобы было написано: Merge [Experiment] Revision Head TO [Trunk] Revision Head

Проблема в том, что он не применил различия к стволу ... он применил их к эксперименту ... так что теперь эксперимент стал моим "стволом", что, безусловно, противоположно тому, что я хотел.

Теперь мне пришлось svn-удалить магистраль и svn-скопировать содержимое эксперимента обратно в Магистраль, чтобы исправить это (насколько я могу судить), но в будущем это будет не так, как должно

Ответы [ 5 ]

4 голосов
/ 20 мая 2009

Если ваша рабочая копия находится в «Эксперименте», вот куда уходит результат слияния.

Упомянутое вами от-до: как построить diff, который будет применяться, то есть он вычисляет разницу "от" x "до" y и применяет ее к рабочей копии.

Справка TortoiseSVN объясняет это довольно прилично.

3 голосов
/ 20 мая 2009
  1. Если вы хотите объединить с Магистраль , вам необходимо выполнить слияние на рабочей копии Магистраль . Слияние производит локальные правки, которые затем необходимо зарегистрировать. Поэтому целью слияния должна быть рабочая копия.

  2. Вы неправильно понимаете "К" и "ОТ".

    При слиянии двух URL вы просите Subversion вычислить изменения, необходимые для преобразования «FROM» в «TO», а затем применить эти изменения к рабочей копии.

В вашем случае вы просили Subversion рассчитать изменения, необходимые для получения "ОТ" Экспериментального "Транка", и применили их к рабочей копии Эксперимента. Это сделает содержимое локальной рабочей копии вашей ветви Experiment идентичным Trunk, потому что именно это вы и просили Subversion.

Предлагаю вам прочитать руководство.

2 голосов
/ 20 мая 2009

Я думаю, что ваше основное недоразумение заключается в том, что вы не сливаете в где-то, вы сливаете из где-то.

Таким образом, вы должны быть в рабочей папке транка, и объединить желаемый диапазон редакций из Эксперимент.

1 голос
/ 20 мая 2009

Я думаю вы хотите выбрать "Реинтегрировать ветку", а не "Объединить два разных дерева"

Есть вопрос , который охватывает то, что вы хотите.

1 голос
/ 20 мая 2009

Я бы предложил прочитать бесплатное руководство SVN, Контроль версий с Subversion . Соответствующая глава здесь .

...