Слияние черепахи SVN "@### должно быть связано с ошибкой @###" по наследству

Предыстория: Получил работу в качестве веб-разработчика начального уровня. Главный разработчик уходит прямо при запуске. Вся ответственность на мне. Никогда не использовал SVN. Идя в слепую.

Проблема:
Я продолжаю получать ошибки, как

'svn://svn/svn/xxx/project_name/branches/dev@330' must be
ancestrally related to 'svn://svn/svn/xxx/project_name/trunk@326'

Процесс, с помощью которого я начинаю новый проект:

  1. Создайте каталог для проекта на моем компьютере с подпапками:
    project_name/branches
    project_name/branches/dev
    project_name/tags
    project_name/trunk

  2. Щелкните правой кнопкой мыши на корне проекта, выберите корень моего проекта и Add это в хранилище

    (Все, что следует, - это то, что я должен сделать для текущих проектов, и в них это не проблема, но перерывы для новых проектов при слиянии)

  3. Commit ветка "dev"

  4. Merge "Dev" в "ствол" (объединить все ревизии) * ломает здесь *
  5. Commit "хобот"
  6. svn up, так далее

Не будучи знакомым с SVN, мне очень тяжело с этим. Как я уже сказал, выполнение 3-6 на существующих проектах работает, а на новых я получаю must be ancestrally related to ошибка при слиянии. Итак, что я делаю не так? Все и любая помощь с благодарностью.

1 ответ

Решение

[thatidiotguy][1], вероятно, прав в том, что не создает копию из транка.

Если вы используете svn log --verbose --stop-on-copy в ветке dev, самая ранняя запись должна показать, откуда вы скопировали ветку.

Функция регистрации TortoiseSVN svn работает аналогично; остановить при копировании это флажок в окне журнала.

Если вы не создали его из копии, его нельзя объединить.

Вам нужно будет воссоздать ветку dev и повторно применить ваши изменения.

Обновление: под "воссозданием ветки dev" я подразумеваю создание новой ветки для разработки, которая является действительной копией (ветвью) svn из ствола. Если вы создаете ветку, используя svn copy trunk/[папка приложения] branch/[папка приложения - имя ветви], svn запишет исходную версию исходного кода. Это позволяет интеллектуально объединять изменения в основной / базовой версии в ветвь (исправлять дефекты, добавлять функции и т. Д.). После того, как копия сделана, вы можете скопировать измененные файлы из исходного источника и зафиксировать их как обычные изменения. к коду.

Как заменить ветку в Subversion?

thatidiotguy

Другие вопросы по тегам