Когда я создаю рабочее пространство TFS?

В течение некоторого времени у меня было какое-то придирчивое чувство, что я могу игнорировать полезные качества рабочих областей TFS. На этом сайте представлен отличный фон: http://www.woodwardweb.com/teamprise/000333.html.

Однако, учитывая эту информацию, я действительно не понимаю, когда я должен создать новое рабочее пространство. Создать ли я для каждого "проекта"? Создать ли я для каждой ветки проекта? Нужно ли создавать рабочие области зеркал на каждой машине, на которой я намерен работать? Я не уверен, что мне нужно учитывать при принятии этого решения.

Есть ли наилучшая практика, описывающая, при каких обстоятельствах использовать разные рабочие области?

Примечание: хотя может быть интересно узнать, что происходит с другими людьми, мне больше интересно узнать, как самому принять решение. Я не спрашиваю "Когда вы создаете новые рабочие пространства?". Вместо этого я спрашиваю: "Как мне решить, когда создавать новое рабочее пространство?".

Ответ 1

Рабочее пространство определяется для каждой машины, для каждой коллективной коллекции проектов (TPC), поэтому вам нужно как минимум одно рабочее пространство для каждой машины, на которой вы работаете, для каждой TPC вы используете.

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

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

Рабочее пространство для каждой задачи работает особенно хорошо, если ваша задача вертикально пересекает несколько решений (например, добавление пользовательского интерфейса, бизнес-логики, службы SOA и обновление схемы в удаленной базе данных, все это является частью добавления новой функции к вашему продукту); Задача редко (если вообще когда-либо) кросс-командных проектов и должна никогда пересекать TPC.

Ответ 2

Короткий ответ, когда вам нужно: -)

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

Некоторым людям нравится иметь рабочее пространство в Team Project, другие - за ветку или даже решение.

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

Являются ли имена папок/файлов в вашем репозитории, что приводит к тому, что вы попадаете в лимит символов в 260 символов в пути? Если да, то время для нового рабочего пространства.

Я имею тенденцию иметь 1 рабочее пространство на одно машинное отображение $/to C:\tfs, но это мое предпочтение. Единственное время, когда я создаю новое рабочее пространство, - это когда мне нужно ограничить количество файлов в области.

Например, откат набора изменений. Если вы используете команду tf rollback (или откат tfpt в 2008 году), то tfs настаивает на том, чтобы выполнить обновление во всем рабочем пространстве. Если у вас есть рабочее пространство, сопоставленное с корнем большого командного проекта, это может занять много времени. Настройка рабочей области, включающей только папки, содержащие файлы в наборе изменений, может быть в режиме реального времени