Оптимальная практика веток и папок TFS

У меня есть структура TFS 2010 следующим образом:

ProjectCollectionA
       ..trunk
            ....Dev (this is a branch) 
                  ...Website1(these are folders)
                  ...Website2

            ....Release(this is a branch)
                  ...Website1(these are folders)
                  ...Website2

По какой-то причине у меня есть dev и релиз как Филиалы и Website1, Website2 как Папки. Мой вопрос в том, должен ли я иметь dev и выпускать как папки, а Website1 и Website2 - как ветки? Это имеет смысл? Какая здесь самая лучшая практика? Какие-либо преимущества или недостатки идут так или иначе? Спасибо за помощь

Ответы

Ответ 1

Здесь есть исчерпывающий справочник здесь от ALM Rangers, который объясняет различные методы разветвления в TFS.

Если веб-сайт 1 и веб-сайт 2 являются связанными приложениями в рамках одного и того же общего решения (а не решения VS) или если есть какие-либо зависимости между двумя веб-сайтами, то это (ИМО) является наилучшим подходом. Если это два совершенно несвязанных проекта с изолированными кодовыми базами, я бы разделил их на два проекта TFS.

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

Ответ 2

Я согласен с DaveShaw в том, что вы должны взглянуть на Руководство по вставке/слиянию в CodePlex.

В соответствии с вашим вопросом с дополнительным комментарием, я бы предложил использовать папки, чтобы сделать ваше дерево в проводнике управления версиями более понятным, но использовать ветки для каждого приложения/решения. В вашей текущей ситуации (если, например, вам нужно создать дополнительную функцию для одного из ваших приложений), вы должны создать новую ветку для всех своих решений, где вы только (в этом примере) хотите изменить одно решение. Использование a/multiple branch (es) для каждого решения даст вам больше свободы.