Слияние TFS и различие между ветками

Я реализую ветвящуюся структуру TFS, в которой есть ОСНОВНАЯ ветвь интеграции, производственная ветвь, содержащая код, выпущенный для производства, и ветвь разработки. И Dev, и Prod ответвляются от Main.

Любая параллельная разработка будет выполняться в дочерних ветвях, которые будут ответвляться от ветки разработки, и я хотел бы, чтобы любые изменения, внесенные в обычную ветвь разработки, при необходимости объединялись с подчиненными ветвями. Я не вижу никакого способа автоматизировать слияния, но я подумал о том, чтобы иметь ночной или еженедельный процесс сравнения, который просматривает две ветки и отправляет по электронной почте отчет о различиях между, скажем, ветвью разработки и каждой вспомогательной ветвью.

Есть ли у кого-нибудь мысли по этому поводу и есть ли какие-нибудь продукты, которые я мог бы использовать для автоматического определения различий и отправки отчетов по электронной почте?

Спасибо


person NZJames    schedule 03.10.2012    source источник
comment
Похоже, вы пытаетесь использовать слишком много ветвей, а затем создать автоматизированный процесс, чтобы собрать их все вместе. Если процесс интеграции можно автоматизировать, зачем вообще нужны разные филиалы? Может, стоит сделать шаг назад и спросить себя, какую проблему должны решить эти ветки?   -  person Andrew Clear    schedule 03.10.2012
comment
Ну, ветки предназначены только для случаев, когда выполняется параллельная разработка одного и того же кода, в основном я ожидаю, что разработчики будут разрабатывать в основной ветке DEV. Но я полагаю, что вместо автоматического слияния я бы хотел, чтобы при внесении изменений в DEV любой, кто работает в ветке, был уведомлен о том, что есть новые изменения в Forward Integrate в их ветке, которые им нужно будет интегрировать перед они возвращаются в основную ветку DEV. И если они могут быть осведомлены об этом, они могут выбрать раннюю интеграцию, чтобы выявить потенциальные проблемы, вместо того, чтобы ждать несколько месяцев в будущем.   -  person NZJames    schedule 04.10.2012


Ответы (1)


Это будет зависеть от ожидаемой стабильности ветви DEV. Однако довольно простое решение - это CI-сборка на базе ветки DEV, которая отправляет уведомление по электронной почте, когда она преуспевает, людям, которым необходимо выполнить прямую интеграцию.

Однако это кажется мне чем-то вроде взлома, поскольку, по всей вероятности, эта сборка CI будет запускаться по крайней мере один раз в день. Это означает, что уведомление по электронной почте станет спамом. Почему бы просто не поручить разработчикам в первую очередь выполнить прямую интеграцию из родительской ветви? Это сохраняет слияния небольшими, поэтому разрешение конфликтов должно быть довольно простым.

Если две ветки постоянно сливаются, вам, вероятно, не нужна дочерняя ветвь.

В любом случае, сборка CI с уведомлением по электронной почте об успехе даст вам то, о чем вы просили. Каждый раз при смене ветки оповещаются все.

person Andrew Clear    schedule 04.10.2012