Как отправлять конфликты после слияний разработчику

#svn #mercurial

#svn #mercurial

Вопрос:

У нас есть менеджер выпуска, который объединяет множество ветвей в ветку выпуска, и иногда возникают конфликты логического слияния, и только разработчики могут решить, как правильно объединить. Есть ли хороший способ (svn, mercurial — не имеет значения), как отправлять разработчикам эти конфликты, а затем возвращать исправленные файлы в release manager, кроме как попросить их сделать реальное слияние svn / hg.

Ответ №1:

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

Слияние — это кодирование, и, хотя я уверен, что ваш менеджер релизов вполне способен объединяться в ветвях, попробуйте создать рабочий процесс, в котором, когда функция выполнена, разработчик выполняет:

  1. hg pull release-кандидат-репозиторий
  2. hg merge # их head с недавно извлеченной head
  3. hg push-релиз-кандидат-репозиторий

Ответ №2:

Mercurial

 [ui]
merge = internal:merge
 

С помощью internal:merge Mercurial вставляет маркеры конфликтов, показывающие конфликтующие части. Вы можете выбрать один, другой или ни один.

 $ cat hello.py
print 'hello world'
<<<<<<< local
print "charlie says: it is now Wed Apr 21 19:22:15 EDT 2010"
=======
print "baker says: it is now Wed Apr 21 19:20:34 EDT 2010"
>>>>>>> other
 

ReleaseManager только что отправил (или проинформировал разработчика об инциденте) файл с маркерами

Комментарии:

1. Из моего POV — изменить рабочий процесс и исключить немой RM — более мощное решение. У RM будет достаточно работы, но не так глупо , как «объединить код других» — слияния — это работа разработчиков