Невозможно объединить новый файл из ствола в мою ветку

Вот мои шаги:

  1. переключиться со ствола на мою ветку
  2. выполнить слияние подкаталога trunks с подкаталогом моей ветки, то есть svn merge https: ... / trunk / Class @ 2209 https: ... branch / mybranch / Class @ HEAD /Users/me/.../Class

Я получаю ответ: --- Объединение различий между URL-адресами репозиториев в '/Users/me/.../Class': C /Users/me/.../Class/NewFileYouDoNotHave.php Сводка конфликтов: Конфликты деревьев: 1

Версия 2209 - это та же самая ревизия, которую NewFileYouDoNotHave.php был добавлен в магистраль. Я так понимаю, что хочу предыдущую версию. Однако предыдущая ревизия ствола старше последней ревизии ветвей. (так что я думаю, кто-то обновил ветку и не включил мой файл).

Чтобы исправить это, я прочитал, что конфликт, вероятно, происходит из-за путаницы svn в том, какие файлы в какой ревизии. Поэтому я удалил NewFileYouDoNotHave.php и зафиксировал его в транке. Затем добавил его и зафиксировал обратно в багажник. Я переключился на свою ветку и снова выполнил слияние, но все равно получаю те же результаты.

По своему опыту на прошлой неделе я знаю, что если я вернусь к магистрали (прямо сейчас я в ветке), Subclipse разорвет соединение с svn. Я больше не смогу получить доступ к пункту меню Team и выполнять команды svn через графический интерфейс Subclipse, но я все равно смогу запускать команды svn в терминале.

Навык: noob
SVN: svn, версия 1.6.5 (r38866)
Подклип: 1.0.6

Буду очень признателен за любые советы, идеи и т. Д. !!!


person Travis    schedule 19.03.2010    source источник
comment
По моему опыту работы с Eclipse и svn и нетривиальными операциями, я всегда обнаруживал, что мне нужно выключить Eclipse, сделать то, что мне нужно, через Tortoise (при условии, что Windows из-за ваших URL-адресов), а затем перезапустить Eclipse и обновить. Не то чтобы это помогло с вашей конкретной проблемой, но это хорошо запомнить.   -  person laura    schedule 19.03.2010
comment
ах, это может помочь Subclipse не сбрасывать svn, когда я переключаюсь обратно на ствол   -  person Travis    schedule 19.03.2010


Ответы (1)


При слиянии вы должны находиться в рабочей копии базы кода, которую вы хотите объединить с (Ветвь). Затем выполните слияние из Магистральной версии 2209 в Магистральную Головку с вашей рабочей копией.

другими словами, вы объединяете изменения с v: 2209 в заголовок кода магистрали вашей ветки.

[EDIT] При объединении вы должны помнить, что объединяемый код представляет собой диапазон изменений из одной ветви. так что из ветки вы хотите изменения с 2209 на 2221 в стволе. Выберите ветвь в качестве рабочей копии, выполните слияние с Trunk @ 2209 и слияние с Trunk 2221. Это захватит изменения 2209 - 2221 в стволе и объединит их в Branch, который является вашей рабочей копией.

person corn3lius    schedule 19.03.2010
comment
Да, я нахожусь в ветке, когда выполняются все эти команды. Что-нибудь особенное, что показало, что я не был? - person Travis; 19.03.2010
comment
Правильно, я это вижу. попробуйте это - svn merge [ствол] [от версии] [ствол] [к версии] [директория рабочей копии ветки] - person corn3lius; 19.03.2010
comment
Спасибо Corn3lius! Вы были правы, я неправильно понял синтаксис SVN. Теперь я могу жить своей жизнью! - person Travis; 22.03.2010