¿Cómo deshacer el pago de otro usuario en TFS?

95

Como administrador residente de TFS, en ocasiones se me pide que deshaga un pago (generalmente un bloqueo) que un usuario ha registrado en un determinado archivo en el control de fuente.

¿Cómo deshaces el pago de otro usuario?

brett rogers
fuente

Respuestas:

144

Hay al menos 2 formas diferentes de hacer esto:

Línea de comando

Existe una utilidad de línea de comandos llamada Tf.exe que viene con Team Explorer. Encuentra la documentación aquí . Se puede acceder iniciando una ventana de símbolo del sistema de Visual Studio. La sintaxis del comando es:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

Para un archivo

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

El segundo es a través de la GUI, pero no viene de serie: debe instalar TFS Power Tools . Consulte aquí para obtener detalles sobre cómo utilizar este método.

Tenga en cuenta que con cualquier método necesitará los derechos adecuados. Los permisos se denominan "Deshacer los cambios de otros usuarios" y "Desbloquear los cambios de otros usuarios". Estos permisos pueden ser visualizados por:

  1. Haga clic con el botón derecho en el proyecto, carpeta o archivo deseado en el Explorador de control de código fuente
  2. Seleccionar propiedades
  3. Seleccione la pestaña Seguridad
  4. Seleccione el usuario o grupo apropiado en la sección Usuarios y grupos en la parte superior
  5. Ver la sección "Permisos para [usuario / grupo]:" en la parte inferior

Eliminar el espacio de trabajo

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 
brett rogers
fuente
Para mí, el comando tf undo / workspace: mydesk * .sdf informa "No hay cambios pendientes" pero no deshace el check-out (bloqueo)
dumbledad
Olvidé la ruta del servidor TFS antes de mi especificación de elementos * .sdf, asumí que funcionaría desde el directorio actual. La línea de comando que das me funciona ahora.
dumbledad
1
Asegúrese de usar comillas alrededor de las rutas con espacios; de lo contrario, podría recibir un mensaje como: "No se encontraron cambios pendientes para $ / xxx"
PeterX
¿Cómo encuentro el nombre del espacio de trabajo? Veo que puedo ejecutar: tf workspaces / owner: [otro usuario] / servidor: [servidor], obtengo una lista de cuatro espacios de trabajo que tiene el usuario, pero ¿cómo puedo saber qué espacio de trabajo es para el archivo?
PeterX
1
PeterX, puede ver el espacio de trabajo navegando al archivo en el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en el archivo bloqueado y seleccione Propiedades, luego en la pestaña Estado tiene información sobre el espacio de trabajo y el usuario que bloqueó el archivo
Dante
36

La forma más fácil que encontré es usar la aplicación gratuita TFS Sidekick . Tiene una opción para ver y deshacer el pago de otros usuarios.

Marek Karbarz
fuente
5
Está debajo de "Status Sidekick". Buscar, seleccionar archivos, deshacer.
Wolf5
Si el usuario ha dejado la empresa, debe conocer el nombre de usuario de Active Directory (que no siempre es el mismo que el nombre y / o apellido del usuario). Mi empresa asigna nombres de usuario numerados, por lo que tuve que buscar al usuario retirado antes de poder buscarlo en VS o en Status TFS Sidekick.
Zephan Schroeder
Esto funcionó asombrosamente. mucho más fácil que tratar de averiguar los nombres de los espacios de trabajo y demás usando la herramienta de línea de comandos.
Bo Flexson
28

Yo mismo tuve este problema y encontré una manera más fácil de limpiar espacios de trabajo antiguos.

  1. En Visual Studio, abra el Explorador de control de código fuente .

  2. Desde el 'espacio de trabajo' desplegable, seleccione ' Los espacios de trabajo ... '

  3. Aparecerá un cuadro de diálogo que muestra los espacios de trabajo en su PC actual. Seleccione ' Mostrar espacios de trabajo remotos '

  4. Ahora también verá espacios de trabajo de su PC anterior (siempre que sean de la misma cuenta de usuario). Seleccione los espacios de trabajo antiguos y haga clic en " Eliminar ". Esto debería eliminar el espacio de trabajo anterior de TFS junto con los pagos persistentes.

Estoy seguro de que Arne ha encontrado una solución, pero espero que esto ayude a otros que buscan en Google el problema.

Saeid Mohammad Hashem
fuente
7
Esto funciona bien si es el propietario del espacio de trabajo, especialmente para limpiar su lista actual de espacios de trabajo. No es tan bueno para eliminar los espacios de trabajo de otros usuarios o los bloqueos de pago :-).
Zephan Schroeder
Convenido. Esto funciona bien para eliminar sus propios bloqueos de pago de otra PC.
Chris
1
Correcto, pero la pregunta es específica para desbloquear archivos que están extraídos de un usuario DIFERENTE.
BrainSlugs83
9

Seleccione su archivo en TFS sidekick, luego, encima de la lista, tiene un "cambio pendiente de deshacer". Haga clic en eso y el cambio se deshará :) El ícono es similar al ícono "Deshacer" en MS Word. Obtenga compañeros de TFS de http://www.attrice.info/cm/tfs/index.htm

Maryam
fuente
La herramienta más sencilla de usar. Realmente me ayudó a deshacer un cambio a nivel de solución que un ex trabajador había verificado
Vishnoo Rath