Программирование arrow Разработка и тестирование arrow Выбор стратегии ветвления и слияния в Team Foundation Server (TFS)

Выбор стратегии ветвления и слияния в Team Foundation Server (TFS)

Оглавление

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

Как использовать данную статью

Данная статья рассказывает, когда следует и когда не следует прибегать к ветвлению. Если принято решение о необходимости ветвления в конкретной ситуации, то эта глава научит использовать ветвление и слияние эффективно.

В данной статье предлагается обзор ветвления и слияния: в ней приведены различные стратегии ветвления и показаны сценарии, когда применение ветвления уместно. Если вас интересует конкретный сценарий, переходите прямо к соответствующему разделу. Чтобы извлечь максимальную пользу из этой статьи, следует:

  • Использовать список сценариев. В списке сценариев выберите тот, который ближе всего подходит к вашей ситуации. Следуя рекомендациям, создайте разветвленную структуру каталогов, отвечающую вашим нуждам.
  • Использовать сопроводительное руководство. Руководствуйтесь рекомендациями по ветвлению и слиянию, приведенными в разделе «Рекомендации по работе с системой контроля версий» данного руководства.

Сценарии ветвления и слияния

Далее приведены сценарии, в которых может понадобиться создавать ветви и выполнять слияния:
  • Ветвь разработки должна быть создана при наличии постоянных проблем с дефектными сборками для изолирования параллельных процессов разработки.
  • При наличии функциональности, обусловливающей нестабильное поведение, или если одновременная работа групп приводит к возникновению нестабильности в разрабатываемой системе, в папке-контейнере системы контроля версий следует создать отдельные ветви функциональных возможностей или групп разработки.

Не следует использовать ветвление, если в нем нет крайней необходимости. Ветвление требует дополнительного обслуживания каталога исходного кода и выполнения задач по слиянию. Для большинства групп разработки, которые занимаются созданием бизнес-приложений и имеют короткие циклы выпуска новых версий, ветвления не требуется. Группам разработки, реализующим более длинные циклы выпуска, таким как Независимые производители ПО (Independent Software Vendors, ISV), которые создают «коробочные» приложения, скорее всего, придется прибегнуть к ветвлению в своем процессе разработки.

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


 
« Предыдущая статья   Следующая статья »


  • Разработка и тестирование, Team Build в Team Foundation Server (TFS)
    В данной статье речь идет об использовании Team Build для автоматизации процесса сборки. Здесь рассматривается ряд общих проблем, связанных со сборкой, и сравниваются различные подходы к сборкам, от плановой ежедневной сборки до сборки в результате непрерывной интеграции....
  • Разработка и тестирование, Управление зависимостями системы контроля версий в Visual Studio Team System
    В данной статье рассматривается, как следует обрабатывать зависимости внутри и между решениями Visual Studio. Единый подход к управлению зависимостями в среде коллективной разработки необходим для обеспечения стабильности процесса сборки и сокращения текущих затрат на обслуживание системы контроля версий. Зависимости – это другие проекты, внешние сборки, Веб-сервисы и базы данных. Зависимости неизбежно меняются во времени и, в результате, оказывают влияние на процесс и порядок сборки прило...
  • Разработка и тестирование, Использование пользовательских расширений для рабочих элементов TFS
    Стандартный набор элементов пользовательского интерфейса и его возможности не всегда удовлетворяют взыскательных пользователей любой системы. И MS Visual Studio Team Foundation Server (TFS), в этом смысле, не является исключением. Однако в TFS предусмотрена возможность создания пользовательских элементов для расширения стандартных свойств рабочих элементов системы. Использование технологий .NET позволяет просто создавать пользовательские расшире...
  • Разработка и тестирование, Сравнение RUP и других методологий разработки ПО
    Как сравнивать две методологии? Казалось бы, очень простой вопрос. По работам и задачам, на которые разбивается разработка ПО. По стадиям разработки, в которые эти работы группируются, и по тому, что входит в каждую стадию. По разрабатываемым документам и моделям. ...
  • Разработка и тестирование, Переход от каскадной разработки к итеративной
    Модель совершенной методологии итеративной разработки во многом радикально отличается от совершенной модели каскадной разработки. Но на практике ни одна группа разработчиков не применяет эти подходы строго в соответствии с их моделями. В этой статье объясняется, почему группам может потребоваться плавный переход от каскадного к итеративному подходу; также указаны некоторые полезные шаги в этом направлении. Объясняются основны...
  • Разработка и тестирование, Средства функционального моделирования: CA ERwin Process Modeler, Design/IDEF, ARIS, ORACLE Designer
    Как корректно выбрать и без неоправданных рисков приобрести средства функционального моделирования систем: CA ERwin Process Modeler, Design/IDEF, ARIS, ORACLE Designer....
  • Разработка и тестирование, CA ERwin Process Modeler: функциональное моделирование
    Грамотное и эффективное функциональное моделирование может быть осуществлено только при соблюдении основополагающих положений, отражающих принципы построения окружающей нас материально - информационной среды....
  • Разработка и тестирование, Отладка при помощи средств визуализации отладчика (Debugger Visualizers) Visual Studio 2005
    При отладке проекта в Visual Studio .NET 2002/2003, вы можете увидеть значение текущих переменных путем ввода переменной в окно Watch, либо путем наведения мыши на переменную в окне с кодом. Хотя данный подход прекрасно работал с переменными простого типа либо с обычными значениями, данный пользовательский интерфейс был не настолько идеален для более сложных типов и длинных значений. К примеру, если бы вы работали над приложением, которое управляло бы содержимым XML-файла, то вы наверняка захоте...