Comando workspace (Controle de Versão do Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

O comando workspace do TFVC (Controle de Versão do Team Foundation) permite criar, excluir, exibir ou modificar propriedades e mapeamentos associados a um workspace.

Pré-requisitos

  • Para modificar ou excluir um workspace existente, você precisa ser proprietário ou ter a permissão global Administrar workspaces definida como Permitir.
  • Para criar um workspace, você precisa ter a permissão global Criar um workspace definida como Permitir.
  • Para criar workspaces para outros usuários, você precisa ter a permissão Administrar workspaces definida como Permitir.

Para saber mais, consulte Permissões padrão do TFVC.

Sintaxe

tf workspace /new [/noprompt] [/template:<workspace-name>[;<workspace-owner>]]
[/computer:<computer-name>] [/comment:("<comment>"|@<comment-file>)]
[<workspace-name>[;<workspace-owner>]] [/login:<username>,[<password>]]
[/collection:<team-project-collection-url>] [/permission:(Private|PublicLimited|Public)]
[/location:(local|server)]
tf workspace /delete [/collection:<team-project-collection-url>] <workspace-name>[;<workspace-owner>] [/login:<username>,[<password>]]
tf workspace [/collection:<team-project-collection-url>] [/comment: ("<comment>"|@<comment-file>)] [/newname:<workspace-name>]
[<workspace-name>[;<workspace-owner>]] [/newowner:<owner-name>] [/computer:<computer-name>] [/permission:(Private|PublicLimited|Public)] [/login:<username>,[<password>]]
[/location:(local|server)]

Parâmetros

Veja nas seções a seguir a descrição dos argumentos e das opções do comando workspace.

Argumentos

Argument Descrição
<workspace-name> Especifica um nome para o workspace sobre o qual você quer criar, editar, excluir ou exibir informações.
<workspace-owner> Especifica um nome de usuário para o workspace. Esse parâmetro é necessário quando o proprietário do workspace não é a pessoa que está executando o comando.
<computer-name> Mostra um valor para a opção /computer.
<comment> Mostra um valor para a opção /comment.
@<comment-file> Especifica o caminho de um arquivo em que o comentário deve ser lido.
<username> Mostra um valor para a opção /login. É possível especificar esse valor como DOMAIN\<username> ou <username>.
<password> Mostra um valor para a opção /login.
<team-project-collection-url> A URL da coleção de projetos que contém o workspace sobre o qual você quer criar, editar, excluir ou exibir informações, por exemplo, https://myserver:8080/tfs/DefaultCollection.
<owner-name> Mostra um valor para a opção /newowner.

Opções

Opção Descrição
/new Cria um workspace.
/template Especifica um workspace existente a ser usado como modelo para criar outro. O novo workspace usa os mapeamentos do que já existe.
/delete Exclui o workspace especificado.
/computer Especifica o nome do computador em que o workspace será criado. Essa opção é uma opção avançada.
/comment Mostra um comentário que descreve o workspace.
/newname Renomeia um workspace existente.
/noprompt Executa o comando de workspace especificado sem exibir uma caixa de diálogo.
/collection Especifica a coleção de projetos.
/permission Especifica as opções de permissões de workspace:

    - Private: somente os proprietários podem usar, fazer check-in de arquivos ou administrar o workspace.


    - Public Limited: qualquer usuário válido pode usar o workspace. Mas apenas os proprietários podem fazer check-in de arquivos ou administrar o workspace.


    - Public: qualquer usuário válido pode usar, fazer check-in de arquivos ou administrar o workspace.


/location Especifica onde o workspace é criado:

    - local: no computador cliente. Esse valor é o padrão.


    - server: no servidor do Azure DevOps.


/login Especifica o nome de usuário e a senha para autenticar o usuário no Azure DevOps.
/newowner Especifica o nome de usuário do novo proprietário do workspace.

Comentários

Um workspace é uma cópia local dos arquivos e pastas no servidor, além de quaisquer alterações feitas localmente. Quando você adiciona, edita, exclui, move, renomeia ou altera qualquer item controlado por versão, suas alterações são isoladas em seu workspace, onde você pode realizá-las e testá-las. Ao fazer check-in do seu trabalho para a base de código da equipe, você confirma suas alterações no servidor. Elas ficam disponíveis para outros usuários que estão fora do workspace.

Para saber mais sobre como usar o utilitário de linha de comando tf, confira Usar comandos de controle de versão do Team Foundation.

Criar um workspace

Antes de adicionar arquivos ao servidor de controle de versão ou fazer check-out dos itens no servidor, você precisa criar um workspace ou associar um existente ao diretório atual. Para saber mais, confira Configurar Controle de Versão do Team Foundation no computador de desenvolvimento.

Para tornar o diretório atual uma pasta de trabalho de um workspace existente no computador, siga estas etapas:

  1. Insira tf workspace <workspace-name>, em que <workspace-name> é o nome do workspace existente. A caixa de diálogo Editar workspace será exibida.
  2. Selecione Clique aqui para inserir uma nova pasta de trabalho.
  3. Na caixa Pasta de Controle do Código-Fonte, insira o caminho do servidor para o qual você quer mapear o diretório atual.
  4. Na caixa Pasta local, insira o diretório atual.
  5. Selecione OK.

Ao criar um workspace, é possível especificar um workspace de modelo como parte da opção /new. Quando você especifica um workspace de modelo, o TFVC cria um novo no computador atual. O TFVC também define o proprietário como o atual e replica as seguintes propriedades do workspace de modelo no novo workspace: mappings e comment. Se nenhum nome for especificado, o sistema usará um baseado no nome do computador atual. Quando você cria um workspace usando um modelo, o TFVC não recupera os arquivos para os quais ele mapeia do servidor. Use o comando get para sincronizar o novo workspace com a versão mais recente no servidor. Para saber mais, confira Comando get.

Mapeamento de pasta única

É possível optar por mapear apenas os elementos filhos imediatos de uma pasta de controle de versão para um workspace local. Para fazer isso, adicione um caractere curinga de asterisco (*) à caixa Pasta de Controle do Código-Fonte na caixa de diálogo Adicionar workspace, por exemplo, $/folder/*. Caso contrário, por padrão, todos os filhos da pasta de controle de versão serão mapeados recursivamente para o workspace local.

O mapeamento de pasta única dentro de uma hierarquia de controle de versão é útil porque limita o número de itens baixados no computador cliente. Outra maneira de limitar o número de arquivos baixados é ocultar aqueles que você não precisa ter em seu workspace. Para saber mais, confira Otimizar o workspace. Essa abordagem gera tempos de download mais rápidos e economiza espaço em disco no computador cliente.

Excluir um workspace

Se você excluir um workspace que contém alterações pendentes, o TFVC as cancelará como parte do processo de exclusão. Excluir um workspace não elimina os arquivos e as pastas no computador cliente que estavam nesse workspace.

Observação

Os comandos executados manualmente exigem a opção /noprompt para ignorar a confirmação do usuário. Tenha cuidado se você usar o método Start() do PowerShell para executar comandos. A opção /noprompt pode ser definida automaticamente no PowerShell.

Ao excluir um espaço de trabalho, você precisa fornecer o <workspace-owner> e <workspace-name>

Você pode usar o comando workspace para recuperar esses valores. Para obter mais informações, confira comando workspaces. Para encontrar o valor de <workspace-owner>, execute o seguinte comando:

c:\projects>tf workspaces /computer:* /owner:* /collection:`<team-project-collection-url>` /format:xml

Para localizar o valor de <workspace-name>, use o valor de <OwnerId> da saída do comando anterior como o valor de <workspace-owner>. Esse valor tem o formato de uma ID de objeto do Azure Active Directory (Azure AD) seguida por uma barra invertida e um nome principal de segurança. Use o valor inteiro. Em seguida, execute o seguinte comando:

c:\projects>tf workspaces /owner:<workspace-owner> /computer:* /collection:`<team-project-collection-url>`

Para excluir o workspace, execute o comando a seguir:

c:\projects>tf workspace /delete <workspace-name>;<workspace-owner> /collection:<team-project-collection-url>`

Editar um workspace

É possível alterar estes atributos de workspace:

  • Nome do workspace
  • Comentário
  • Mapeamentos de pasta de trabalho

Se nenhuma especificação de workspace for fornecida, o workspace da pasta atual será usado.

Exemplos

O exemplo a seguir abre a caixa de diálogo Adicionar workspace e cria um novo. É possível usar a caixa de diálogo Adicionar workspace para editar a pasta de controle do código-fonte, o proprietário, o computador, o comentário e as pastas locais.

c:\projects>tf workspace /new /collection:https://myserver:8080/tfs/DefaultCollection

O exemplo a seguir cria um workspace chamado Beta1 e atribui jenh como proprietário. É necessário ter a permissão AdminWorkspaces para atribuir a propriedade de um novo workspace a outro usuário. Para saber mais sobre permissões de segurança, confira Permissões padrão do TFVC.

c:\projects>tf workspace /new Beta1;jenh

O exemplo a seguir cria um workspace usando o workspace Beta1 que pertence a jenh como modelo:

c:\projects>tf workspace /new /template:Beta1;jenh /collection:https://myserver:8080/tfs/DefaultCollection

O exemplo a seguir remove o workspace Beta1 do servidor:

c:\projects>tf workspace /delete Beta1

O exemplo a seguir edita propriedades do workspace atual:

c:\projects>tf workspace

O exemplo a seguir abre o workspace Beta1 pertencente a jenh para que você possa ver propriedades e mapeamentos. Se você tiver a permissão AdminWorkspaces, poderá alterar as propriedades e os mapeamentos do workspace.

c:\projects> tf workspaces Beta1;jenh