Черепаха SVN лучшая модель разработки / слияния / выпуска для сложной установки - PullRequest
1 голос
/ 10 ноября 2011

Наша команда разработчиков работает в существующих проектах и ​​развертывается в совершенно разных средах.Работа, которую мы выполняем, никогда не будет объединена с их работой, но мы должны оставаться в соответствии с ними.Они используют традиционную настройку ствола (но не тегов).Для производственного выпуска создается ветвь, а затем продолжается разработка для него по мере выпуска.

Как наша команда делает это, мы копируем их ветви выпуска в нашу собственную ствол (изначально), который сам содержит ствол / ветви / теги.Во время разработки мы находимся на стволе, и помечаем для производственных выпусков.Когда мы обновляем их последнюю версию, часто невозможно выполнить прямое слияние из этой ветки с нашей внешней линией.Кажется, гораздо чище и без проблем начинать с их ветки, объединять нашу работу и в конечном итоге переименовывать ее в транк.

Внезапно я чувствую себя как генератор текстов подделок ...

Учитывая ограничение, что мы не можем изменить рабочий процесс другой команды, есть ли лучший поток для нас?Дайте мне знать, если я что-то упустил в объяснении.

спасибо.

1 Ответ

0 голосов
/ 10 ноября 2011

Два основных принципа:

  • Ветви поставщика
  • Слияние часто

Из-за незнания правила 2 вы получаете "Слияние ада "как и ожидалось

Для более разумного рабочего процесса (читайте о ветвях поставщиков в Net, у него много информации) вы можете

  • Не просто скопировать восходящую ветвь в свою ствол,но создайте вендор (филиал) в вашем репо, свяжите его с svn: externals в исходную ветвь (без исправления исходной ревизии в URL, ссылку на перемещаемую HEAD)
  • Копировать ветку в(пусто) транк
  • Монитор фиксирует в восходящем репо (SVNMonitor, CommitMonitor) и каждый коммит в восходящем филиале объединяет вашего поставщика - ветку с вашим транком (svn 1.6-1.7 будет лучше, чем старые версии)

После завершения восходящей ветки brach и запуска новой вы можете изменить внешнее определение в старой ветке (для URL следующей ветки) или полностью удалить веткуи начать новый (удаляя всеrom ваш багажник не нужен, только слияние с новым содержимым ветки)

...