git-tf me dice "No se pudo bloquear" al registrarme; ¿Cómo puedo arreglarlo?

Estoy usando git-tf para impulsar un proyecto TFS. A veces, cuando bash verificar uno o más commits en TFS, recibo un post como este:

Conectando a TFS …
Verificando en $ / MyProject: 0%
git-tf: No se pudo bloquear $ / MyProject

¿Qué significa esto? ¿Qué me impide bloquear? ¿Y cómo puedo solucionar esto?

Por qué sucede

Con el uso estándar de TFS, solo está registrando una confirmación a la vez. Pero con Git, podrías tener una serie de compromisos que presionas de una vez.

Debido a eso, git-tf se esfuerza por mantener su set de compromisos atómicos. Si alguien se registra mientras está haciendo el check-in, el historial puede mezclarse; no se fusionará correctamente

Para evitar esto, git-tf bloquea temporalmente todo el tree fuente mientras se registra. Sin embargo, no puede hacer esto si alguien más ya tiene partes del tree fuente bloqueadas.

Cómo no arreglarlo

Verá el argumento –no-lock recomendado en algunos lugares:

git tf checkin --no-lock 

Esta no es una buena solución. Ignora el posible problema de historia revuelta en lugar de resolverlo.

Como arreglarlo

  1. En function de la versión de TFS que esté utilizando, descargue e instale la versión adecuada de TFS Sidekicks .
  2. Ejecute TFS Sidekicks.
  3. Navegue a Herramientas> Pausa del estado.
  4. Borre el campo Nombre de usuario.
  5. Establezca un intervalo de dates suficientemente amplio para abarcar toda la historia de su proyecto. Puede filtrar el campo Nombre del proyecto si lo desea.
  6. Haga clic en Buscar. Obtendrá una list de todos los files desprotegidos en el proyecto.
  7. Haga clic en el encabezado de la columna Tipo de locking para orderar por esa columna. La mayoría de los files probablemente tendrán "Ninguno" en esa columna. En su lugar, está buscando files que tengan "Bloqueado". Esto es más común con los files binarys, porque no se pueden fusionar. De forma pnetworkingeterminada, TFS los bloqueará exclusivamente cuando estén desprotegidos.
  8. Una vez que averigüe qué files están bloqueados, vaya a hablar con la persona que los tiene bloqueados y negocie para desbloquearlos. Si la persona ya no trabaja allí, es posible que desee tener un administrador TFS simplemente quite los lockings.
  9. Una vez que se eliminan todos los lockings, vuelva a presionar Buscar en TFS Sidekicks y verá que todos los files tienen un tipo de locking de "Ninguno". Ahora testing tu git tf checkin nuevamente, y debería funcionar correctamente esta vez.