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

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


person Max Grigoriev    schedule 28.10.2011    source источник


Ответы (2)


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

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

  1. hg pull выпуск-кандидат-репо
  2. hg слить # свою голову с недавно вытащенной головой
  3. hg push-релиз-кандидат-репозиторий
person Ry4an Brase    schedule 29.10.2011

Меркуриал

[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 только что отправил (или сообщил разработчику об инциденте) файл с маркерами

person Lazy Badger    schedule 29.10.2011
comment
С моей точки зрения - изменить рабочий процесс и исключить тупой RM - более мощное решение. У RM будет достаточно работы, но он не такой глупый, как код слияния других - слияния - это работа разработчиков - person Lazy Badger; 29.10.2011