Стеллажи против рабочих пространств в TFS - PullRequest
12 голосов
/ 09 февраля 2010

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

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

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

Кстати, у меня появилась идея создать второе рабочее пространство здесь .

Ответы [ 3 ]

12 голосов
/ 09 февраля 2010

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

Мы часто используем разветвления в моем магазине, и в результате я не видел много вариантов использования стеллажей.

Однако я обнаружил один случай, когда он мне очень пригодился: Я часто подпрыгиваю между двумя разными машинами разработки (одна в офисе, другая дома, подключенная через VPN). Если я над чем-то работаю и хочу перевести его из дома на работу или наоборот, я часто пользуюсь стеллажами. Я могу снять его с одной машины и снять с другой. Я делаю это, когда я нахожусь в середине изменения, и регистрация может нарушить сборку или иным образом прервать других разработчиков.

3 голосов
/ 09 февраля 2010

Вы говорите здесь о двух совершенно разных концепциях. Когда вы храните код на полке, вы сохраняете его в TFS, но не регистрируете его в какой-либо конкретной ветке. Создание другого рабочего пространства просто устанавливает новую локальную папку на ваших машинах разработки и сохраняет там файлы в вашей ветке. Когда вы делаете регистрацию, у вас все еще могут быть конфликты.

Почему бы не создать новую ветку вашего кода. Вы можете работать над этой веткой и регистрироваться, не наступая на чьи-либо изменения, потому что вы регистрируетесь в своей собственной ветке кода. Затем, когда вы завершили свои изменения, а другие завершили свои изменения в основной ветке, вы можете объединить свои изменения в основную ветку.

1 голос
/ 09 февраля 2010

Стеллажи - идеальный вариант. Стеллаж позволяет массово вносить изменения в TFS вне обычной сборки и извлекать их позже по имени. Несколько рабочих пространств не является решением для того, что вы делаете. Многократные рабочие области хороши, если вы поддерживаете разные версии продукта и должны работать с ними, например, Допустим, у вас есть продукт 4.0 и 5.0, и вам нужно применить исправление безопасности для обеих версий. Стеллажи хороши, когда вы хотите внести изменения, но не совершать их немедленно.

...