Черепаха SVN Слияние "@### должно быть наследственно связано с @###" Ошибка
Предыстория: Получил работу веб-разработчика начального уровня. Главный разработчик уходит сразу, как только я начинаю. Вся ответственность на мне. Никогда не использовал SVN. Иду вслепую.
Проблема:
Я продолжаю получать ошибки, такие как
'svn://svn/svn/xxx/project_name/branches/dev@330' must be
ancestrally related to 'svn://svn/svn/xxx/project_name/trunk@326'
Процесс, с помощью которого я начинаю новый проект, таков:
Создайте каталог для проекта на моем компьютере с вложенными папками:
project_name/branches
project_name/branches/dev
project_name/tags
project_name/trunk
-
Щелкните правой кнопкой мыши корневой каталог проекта, выберите корневой каталог моего проекта и
Add
его в хранилище(Все, что следует, - это то, что я должен сделать для текущих проектов, и в них это не вызывает проблем, но прерывается для новых проектов при слиянии)
Commit
" филиал "dev"-
Merge
"dev" в "магистраль" (Объединить все редакции) * ЗДЕСЬ ПРЕРЫВАЕТСЯ * -
Commit
"ствол" -
svn up
и т.д.
Не будучи знакомым с SVN, я переживаю действительно трудные времена с этим. Как я уже сказал, выполнение 3-6 в существующих проектах работает, но в новых я получаю ошибку must be ancestrally related to
при слиянии. Итак, что я делаю не так? Все и любая помощь очень ценится.
1 answers
[thatidiotguy][1], вероятно, прав в том, что не создает копию из транка.
Если вы используете svn log --verbose --stop-on-copy в ветке разработки, самая ранняя запись должна показывать, откуда вы скопировали ветку.
Функция svn журнала TortoiseSVN работает таким же образом; остановить копирование - это флажок в окне журнала.
Если вы не создали его из копии, то он не может быть объединен обратно.
Вам нужно будет воссоздать ветку dev и повторно применить свой изменения.
Обновление: Под "воссозданием ветви разработки" я подразумеваю создание новой ветви для разработки, которая является фактической копией (ветвью) svn от магистрали. Если вы создадите ветвь с помощью svn copy trunk/[вложенная папка приложения] ветвь/[вложенная папка приложения - имя ветви], svn запишет исходную версию источника. Это позволяет интеллектуальное объединение изменений в магистральной/базовой версии в ветку (для исправления дефектов, добавления функций и т.д.) Как только копия будет сделана, вы можете скопировать измененные файлы из исходного источника и зафиксируйте их как обычные изменения в коде.