SVN merge - как предотвратить удаление кода / ошибки перезаписи - PullRequest
0 голосов
/ 18 декабря 2018

Во время процесса слияния кода мы столкнулись с проблемой перезаписи или даже удаления кода, поэтому мы просим предложения.

  • Мы - команда из шести разработчиков в двух разных офисах, использующих Tortoise SVN.
  • У нас есть 12 личных веток, по 2 на каждого разработчика: dev1Client, dev1Server, ..., dev6Client, dev6Sever.
  • У нас есть общие ветви QA_Client, QA_Server, Release_Client, Release_Server.

Шаги, которым мы следуем:

  1. Все разработчики фиксируют работу в своих ветвях, а затем ониобъедините их изменения в QA_Client и QA_Server.

  2. QA Build подготовлен из QA_Client и QA_Server.

  3. После прохождения тестов администратор создает тег с номером выпуска и объединяет код с Release_Client и Release_Server.

Aпару раз код шага 1 был перезаписан или удален в процессе слияния.Основная причина, по которой мы обнаружили, заключается в том, что разработчики не синхронизируют свои ветви с QA_Branches.

Например, Dev1 и Dev4 объединили код с ветками QA*, а остальные разработчики не синхронизировали свои ветки с QA*.После этого Dev2 может попытаться объединить свой код с QA*, чтобы получить некоторые предупреждения о конфликтах.Он неправильно интерпретирует эти предупреждения и переписывает некоторые из предыдущих изменений, внесенных Dev1 и Dev4.

1 Ответ

0 голосов
/ 18 декабря 2018

Вы сами указали причину:

Основная причина, по которой мы обнаружили, что разработчики не синхронизируют свои ветви с QA_Branches.

Ваша команда должнапридерживайтесь строгой политики постоянного обновления личных веток dev* с учетом последних изменений в ветвях QA* до того, как разработчики объединят свой новый код в QA*.Разработчики также должны понимать, что означают различные сообщения о конфликтах слияний и как их решать, SVN Book - отличный справочник.

Короче говоря, вы не можете заменить личную ответственность (или отсутствиеиз них) с инструментами.Политика может быть применена, заставляя виновного разработчика задним числом исправлять нарушенное слияние;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...