Criação de script de linha de comando do TFS para obter a versão mais recente, check-out e check-in, programaticamente

101

Eu uso WinXP, VS 2008 e Team Explorer para me conectar ao Team Foundation Server.

Preciso criar um script (por exemplo, script de arquivo BAT) o seguinte:

  • Obtenha a versão mais recente da pasta em Team Project.
  • Verifique os arquivos da pasta em Team Project.
  • Faça check-in dos arquivos da pasta no Team Project.

Meu TFSProject é $/Arquitectura/Main/, mapeado para o caminhoC:\TFS\Arquitectura

Alguém tem algum código de amostra ou sugestões?

Kiquenet
fonte

Respostas:

158

Use tf.exe na linha de comando.

Nos exemplos a seguir, %PathToIde%geralmente está em um caminho como este: %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDEou no Windows x64: %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE(dependendo da versão do Visual Studio e das configurações de instalação).

Exemplo para obter:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" get $/Arquitectura/Main /recursive

Exemplo para checkout:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" checkout $/Arquitectura/Main /recursive

Exemplo para check-in:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" checkin $/Arquitectura/Main /recursive

Consulte Recursos para obter mais informações sobre a linha de comando tf .

Ewald Hofman
fonte
5
"% ProgramFiles (x86)% \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ TF.exe" get $ / Project / recursive para VS 2010 no Win x64. Obrigado pela contribuição, muito útil!
Andreas Reiff
1
"% VS120COMNTOOLS% .. \ IDE \ TF.exe" get $ / PROJECT_NAME / recursivo para VS2013
igorushi
Desculpe por desenterrar este post antigo, mas tenho uma pergunta: ao trabalhar com diferentes espaços de trabalho locais do TFS, onde especifico o espaço de trabalho a ser usado? Ou isso está implícito no diretório de trabalho atual?
Scrontch
11

Atualização para VS2017

C: \ Arquivos de programas (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ tf.exe '

Mark Monforti
fonte
7
Melhor comentar do que responder.
Kiquenet
Obrigado pelo profissional "C: \ Arquivos de programas (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ TF.exe"
Rupesh Kumar Tiwari
5

"C: \ Arquivos de programas (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ tf.exe" get "$ / ProjectName / Main" / force / recursive

Jeff Bramlett
fonte
4
@Neolisk Por que você está sugerindo o uso de /forceneste caso padrão?
MEMark
4

obter código atualizado para Windows 7 de 64 bits

"%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" get /recursive

Isso funcionou para mim.

Krish
fonte