2008-11-06 55 views

Respuesta

51

Para la siguiente operación, necesitará ser un administrador de proyecto para el proyecto que desea deshacer el registro o un Administrador de Team Foundation si desea hacer esto en todos los proyectos.

Si todavía tiene el nombre de usuario de la persona, sólo tiene que hacer algo como esto:

  • Abran pronta Visual comando Estudio (Inicio -> Programas -> Microsoft Visual Studio 200X -> Visual Studio Tools -> Visual Studio 200X Símbolo del sistema)
  • Ejecutar el siguiente comando:

bloqueo TF/bloqueo: ninguno /espacio de trabajo: WorkspaceName;NOMBRE DE USUARIO 0/recursiva $/

Para obtener la lista de espacios de trabajo para un usuario, basta con ejecutar el siguiente comando desde el mismo mensaje:

espacios de trabajo TF/dueño: Nombre de usuario

Para más comandos, marque tf /?

+0

¿Cómo puedo hacer esto con diferentes credenciales? –

+3

Déjenme reformular. Yo uso 'tf lock/lock: none/login: .../workspace: ... ', pero devuelve el error "debe permanecer bloqueado porque su tipo de archivo impide múltiples check-outs" –

+7

No importa, lo resolví con 'tf undo' de la respuesta de Martin. –

6

Primero necesita tener el derecho de hacer esto. Si tiene eso, lo más fácil es usar paletos de TFS de attrice http://www.attrice.info/cm/tfs/

+0

Sí, puede desbloquear archivos utilizando el "Status Sidekick". Trabajó para mi. –

0

Here's una explicación del uso de permisos TFS.

Tener el "desbloquear otros cambios de usuario" conjunto de permisos para permitir que se requiere para quitar un bloqueo mantenido por otro usuario.

30

Si el desarrollador ha abandonado la organización, lo mejor que puede hacer es eliminar sus espacios de trabajo. Esto desbloqueará los archivos por usted pero también liberará algunos recursos en el servidor.

Consulte la siguiente publicación de blog que hice sobre el tema cuando me sucedió hace unos años.

http://www.woodwardweb.com/vsts/unlocking_files.html

puede eliminar el espacio de trabajo utilizando la línea de comandos (tf.exe) o puede utilizar la excelente TFS Sidekicks de Attrice.

+5

+1 El comando 'tf undo' hizo el truco. –

+0

+1. Esto funcionó mientras que eliminar el espacio de trabajo no se debió a permisos insuficientes y al intentar desbloquear los archivos se produjo un error. – djskinner

+0

El problema es que el compinche no me mostró que otro usuario tenía comprobaciones pendientes. Pero tampoco lo hizo en la línea de comando. Resultó que el tipo intentó registrarse y falló. Y luego simplemente lo dejé. Así que lo agregué a la fuente de nuevo, y cuando traté de registrarme, algunos archivos se registraron, pero otros no. Situación realmente estúpida. Tuvo que deshacer algo en su máquina para solucionar este problema, aunque eliminé su espacio de trabajo TFS. – ppumkin

0

Tener un administrador del sistema que los usuarios restablecer la contraseña, inicie sesión como ese usuario, desbloquear todos los archivos ...

yo creo que esta es la solución a casi todos 'alguien que ya no está en esta organización preguntas ...

+0

Esta es la mejor solución a prueba de tontos ... No siempre es viable, pero es la mejor solución;) –

+1

Desafortunadamente, generalmente esta no es una opción si ya han eliminado su cuenta de dominio. – AaronLS

5

Esta era la única manera resolví esto, que implicó la supresión de espacio de trabajo del usuario:

http://2toad.com/Blog/2012/1/27/how-to-manage-tfs-workspaces

Si el mensaje de error dice "El artículo $/... está bloqueado para el registro de salida por unUsuario : 1 en el espacio de trabajo someMachine123. " Luego utilizo el comando:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1 

Sólo hay un único espacio entre la URL recogida y someMachine123;someUser:1.

Tenga en cuenta que presté atención al hecho de que el mensaje de error mencionaba al usuario como someUser:1, así que imité eso en el comando. No fue suficiente ejecutar el comando solo con someUser. No estoy seguro de qué se trata el: 1, sino señalar, imitar el mensaje de error.

Tenga en cuenta que el servidor tiene que ser la ruta de recopilación totalmente calificada, que puede encontrar yendo a Team Foundation Server Consola de administración-> Nivel de aplicación-> Colecciones de proyecto de equipo, el panel inferior mostrará una URL para la colección seleccionado en el panel superior.

También tuve un problema porque accidentalmente traté de usar el plural workspaces en lugar de simplemente workspace porque hay un comando similar que es plural.

0

Es mejor eliminar el espacio de trabajo de ese usuario del servidor. ejemplo

espacio de trabajo TF/borrar/servidor: your_tfs_server espacio de trabajo; username

1

que necesitaba para agregar/recogida: collectionURL de lo contrario el espacio de trabajo no se pudo encontrar:

  • elemento de la lista

tf loc/lock: none/workspace: WorkspaceName; UserName/collection: collectionURL

+0

Esto es normal. La versión que utilicé en aquel entonces no tenía colecciones. –

0

Sometim Esto está enmascarando un problema diferente con una aplicación completamente diferente, está bloqueado por otro usuario, pero ni siquiera puede crear una Nueva Carpeta para el nuevo proyecto en el que desea fusionarse (el objetivo no permitirá la creación y declarará incorrectamente que alguien tiene un archivo bloqueado en su nombre) pero luego profundizas y otro proyecto es el culpable.

Así que un proyecto completamente diferente puede ser el problema de tener archivos bloqueados por otra persona.

-3

Utilice esta solución como último recurso.

Estoy usando TFS 2012. Fui a la base de datos TFS y ejecuté las siguientes consultas. ¡Y funcionó! Por supuesto tener mucho cuidado al jugar con la base de datos, realizar copias de seguridad, etc.

La base de datos se llama Tfs_ < <your_TFS_collection_name> >. Ignore Tfs_Configuration base de datos MSSQL.No estoy seguro, pero si usted no tiene una Tfs_ < <your_TFS_collection_name> > base de datos, parámetros pueden encontrarse en la base de datos Tfs_DefaultCollection. Los bloqueos se almacenan en tbl_PendingChange.LockStatus.

/*Find correct row*/ 
SELECT LockStatus, PendingChangeId, * 
FROM tbl_PendingChange 
WHERE TargetServerItem like '%<<fileName>>%' 

/*Set lock status to NULL (mine was set to 2 initially)*/ 
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE 
TargetServerItem like '%<fileName>>%' 
AND PendingChangeId = <<PendingChangeId from above>> 
+0

Explique el voto a favor por favor. Probé todo lo que se sugirió pero puedo confirmar que esto fue lo único que funcionó para mí. En mi caso, el archivo se bloqueó debido a algunos errores durante el traslado de TFS de mi empleador a otro servidor. Estaba bloqueado por mi nombre de usuario anterior, que desde entonces se ha eliminado. Mi nuevo nombre de usuario era diferente y no pude encontrar otra forma de vincularlo. –

+1

Nunca debe tocar la base de datos TFS. Debe usar las herramientas provistas por Microsoft o incluso por terceros como Atrice TFS Side kicks. Es por eso que abajo voté. – SoftwareCarpenter

+0

Probé todo lo que se sugirió en línea: herramientas de administración TFS, carpeta de caché eliminada, uso del menú desplegable de espacios de trabajo, espacios de trabajo/eliminar tf: *, credenciales borradas del Panel de control, IE, etc. No intenté utilizar Sidekicks, pero después de horas tratando de usar otras herramientas, pensé que era mejor ir directamente a la fuente; esto funcionó, y mi TFS aún está en pie. Finalmente, revertir el cambio es una simple cuestión de reemplazar NULL con el valor anterior. –

Cuestiones relacionadas