Mover múltiples archivos en TFS Source Control

172

Estoy usando Team Foundation Server 2008 (SP 1) y necesito mover varios archivos de una carpeta a otra (para retener el historial de archivos). Además de Team Explorer (con SP 1) también tengo las últimas herramientas TFS Power Tools (octubre de 2008) instaladas (para la integración de Windows Shell).

Ahora, el problema es que parece que no puedo seleccionar y mover varios archivos a través del shell o la ventana del Explorador de control de código fuente. Puedo mover archivos individuales (haciendo clic derecho + "Mover") y puedo mover carpetas enteras (misma operación) pero cuando selecciono varios archivos (en una carpeta) el elemento de contexto "Mover" está atenuado / deshabilitado.

¿Alguien sabe si esto es posible ... y si no ... ¿por qué no?

¿Alguien puede sugerir una solución alternativa que no sea demasiado complicada?

Por favor vote aquí: https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorer y aquí http: //visualstudio.uservoice. com / forum / 121579-visual-studio / advice / 2271540-allow-to-move-more-than-one-file-at-once-in-tfs-so

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

RobS
fuente

Respuestas:

144

Use la herramienta tf.exe de la línea de comandos de Visual Studio; puede manejar comodines:

tf.exe move <olditem> <newitem>

Ejemplo:

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

[EDITAR] Como se señaló en los comentarios: mover es un alias para cambiar el nombre. Ambos comandos mueven el historial.

Kurt Schelfthout
fuente
77
Esta otra respuesta es la mejor aquí. El moveparámetro no está documentado y no mueve el historial, mientras que el renameparámetro de la otra respuesta está documentado y también mueve el historial.
Alex Angas
12
Para el registro, parece que en TFS 2010 el comando mover realiza un cambio de nombre que mueve el historial.
John Bledsoe
10
de la ayuda de TF.EXE: puede usar el comando de cambio de nombre o el movimiento de alias para mover un archivo o carpeta a una nueva ubicación. así que mover y renombrar son exactamente lo mismo.
Mickey Perlstein
1
Otra cosa, ejecutarlo desde la ruta asignada, utilizando la línea de comandos para Visual Studio. de lo contrario, dice no saber el espacio de trabajo y le ofrece una forma (inútil) de averiguar qué espacios de trabajo tiene (y luego qué? nada ...), así que ejecútelo desde el directorio asignado y estará bien (trabajado para yo)
Mickey Perlstein
También funciona con rutas relativas. cda la carpeta donde desea mover archivos y decir tf move V* Archive.
nalply
56

Use renombrar en lugar de mover

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

Consulte la documentación de ayuda: Referencia de la línea de comandos de TFS

Titwan
fuente
El enlace de arriba arroja un HTTP500; en caso de que se mantenga inactivo, aquí está la referencia de la línea de comandos TFS de MSDN: msdn.microsoft.com/en-us/library/z51z7zy0.aspx
Joisey Mike
12
movees solo un alias rename, por lo que realmente no importa cuál uses
Jeff Olson
Uso mi control de fuente TFS de Visual Studio Online, por ejemplo, namgivu.visualstudio.com . Y enumerar el espacio de trabajo llamando tf workspacesno tiene la entrada para mi mapeo de repositorio.
Nam G VU
"No se puede cambiar el nombre de $ / X / Y / Z cuando tiene asignada una asignación de carpeta de trabajo". También; Los comodines *. * Ya no están permitidos.
Christian
"No puede especificar un comodín como fuente si el destino no es una carpeta en el control de fuente". No sé lo que eso significa. Solo muévelo al nombre que estoy señalando.
Christian
39

Holan Jan ha escrito una extensión de Visual Studio que proporciona 'movimiento' para múltiples archivos dentro del explorador de control de código fuente (es decir, usando una GUI). Funciona como un regalo, también tiene soporte para versiones recientes.

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

Debajo del capó, usa los mismos comandos mencionados anteriormente, pero es un poco más amigable de usar. Cada una de las versiones enumeradas requiere la versión RTM de Visual Studio.

Sid James
fuente
¡Excelente! Esto es lo único que funcionó para mí, usando VS2010: visualstudiogallery.msdn.microsoft.com/…
Ian Campbell
Esta extensión es fantástica: permite un montón de funcionalidades adicionales en el explorador de control de código fuente, de las cuales mover varios archivos a la vez es solo una pieza. Lo recomiendo mucho
SqlRyan
Esta es la respuesta. ¡Gracias!
Frank Silano hace
-9

Pegue todos los archivos que desea mover, debajo de una carpeta y luego mueva esa carpeta.

Merrick Chaffer
fuente