Movendo vários arquivos no Controle de Origem TFS


172

Estou usando o Team Foundation Server 2008 (SP 1) e preciso mover vários arquivos de uma pasta para outra (para manter o histórico do arquivo). Além do Team Explorer (com SP 1), também tenho as mais recentes TFS Power Tools (outubro de 2008) instaladas (para integração com o Windows Shell).

Agora, o problema é que não consigo selecionar e mover vários arquivos pela janela do shell ou do Source Control Explorer. Posso mover arquivos individuais (clicando com o botão direito do mouse + "Mover") e posso mover pastas inteiras (mesma operação), mas quando seleciono vários arquivos (em uma pasta), o item de contexto "Mover" fica acinzentado / desativado.

Alguém sabe se isso é possível .. e se não .. por que não !?

Alguém pode sugerir uma solução alternativa que não seja excessivamente complicada?

Vote aqui: https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorer e aqui http: //visualstudio.uservoice. com / forums / 121579-visual-studio / suggestions / 2271540-permita-mover-mais-que-um-arquivo-de-uma-vez-em-tfs-so

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Respostas:


144

Use a ferramenta tf.exe na linha de comando do Visual studio - ela pode manipular curingas:

tf.exe move <olditem> <newitem>

Exemplo:

tf.exe move "$/My Project/V*" "$/My Project/Archive"

[EDIT] Como observado nos comentários: move é um alias para renomear. Ambos os comandos movem o histórico.


7
Essa outra resposta é a melhor aqui. O moveparâmetro não está documentado e não move o histórico, enquanto o renameparâmetro da outra resposta está documentado e também move o histórico.
— Alex Angas

12
Para o registro, parece que no TFS 2010 o comando move executa uma renomeação que move o histórico.
— John John Bledsoe

10
da ajuda do TF.EXE: Você pode usar o comando renomear ou o alias move, para mover um arquivo ou pasta para um novo local. então mover e renomear são exatamente a mesma coisa.
— precisa saber é o seguinte

1
outra coisa, execute-o a partir do caminho mapeado, usando a linha de comando do visual studio. caso contrário, ele se cala para não conhecer o espaço de trabalho e oferece a você uma maneira (inútil) de descobrir quais espaços de trabalho você possui (e depois o que não tem nada .. - então execute-o no diretório mapeado e você ficará bem (trabalhou para eu)
— Mickey Perlstein

Também funciona com caminhos relativos. cdpara a pasta onde você deseja mover os arquivos e dizer tf move V* Archive.
— nalply

56

Use renomear em vez de mover

tf.exe rename "$/PROJECT/SharedLibs/Log4Net/*.*" "$/PROJECT/SharedLibs/3rdParty/"
tf.exe rename "$/PROJECT/SharedLibs/ZipLib/*.*" "$/PROJECT/SharedLibs/3rdParty/"

Confira a documentação da ajuda: Referência da linha de comando do TFS


O link acima está lançando um HTTP500; em caso ele permanece baixo, aqui é a referência de linha de comando TFS da MSDN: msdn.microsoft.com/en-us/library/z51z7zy0.aspx
— Joisey Mike

12
moveé apenas um alias para rename, por isso realmente não importa o que você usa
— Jeff Olson

Eu uso o controle de fonte TFS do meu Visual Studio Online, por exemplo, namgivu.visualstudio.com . E listar o espaço de trabalho chamando tf workspacesnão tem a entrada para o meu mapeamento de repositório.
— Nam G VU

"Não é possível renomear $ / X / Y / Z quando há um mapeamento de pasta de trabalho atribuído a ele." Além disso; Curingas *. * Não são mais permitidos.
— Christian

"Você não pode especificar um curinga como fonte se o destino não for uma pasta no controle de origem." Eu não sei o que isso significa. Apenas mova-o para o nome que estou apontando.
— Christian

38

Holan Jan escreveu uma Extensão do Visual Studio que fornece 'movimento' para vários arquivos dentro do explorador de controle de origem (ou seja, usando uma GUI). É um tratamento, também tem suporte para versões recentes.

para VS2019: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-2019

para VS2017: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-18397

para VS2015: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-13343

para VS2013: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-11508

para VS2012: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-8896

Sob o capô, ele usa os mesmos comandos mencionados acima, mas é um pouco mais amigável de usar. Cada uma das versões listadas requer a versão RTM do Visual Studio.


Excelente! Esta é a única coisa que funcionou para mim, usando VS2010: visualstudiogallery.msdn.microsoft.com/...
— Ian Campbell

Essa extensão é fantástica - permite várias funcionalidades adicionais no explorador de controle de origem, das quais mover vários arquivos ao mesmo tempo é apenas uma peça. Eu recomendo.
— SqlRyan

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.