Me gustaría ver todos los archivos que están bloqueados. hasta ahora, sólo he encontrado a utilizar tf.exe el estado y buscar cualquier cosa con ‘!’, ya que no son reportados como «bloquear, editar» como lo son en la interfaz de usuario. Alguna idea? gracias.

  • Gran pregunta, ni idea de cómo hacerlo, aunque… 🙂
InformationsquelleAutor TheSean | 2009-06-25

5 Comentarios

  1. 20

    Si usted tiene el herramientas de poder instalado, es un one-liner:

    tfstatus . -r -user * | % { $_.pendingchanges } | ? { $_.islock } | select -unique serveritem
    

    Si prefieres GUIs para secuencias de comandos, intente TFS Sidekicks.

    • Esto se ve muy bien. Acabo de instalar las herramientas de poder, el otro día pero no sabía que tenía el poder de shell commandlets. ¿Sabes donde puedo encontrar documentación sobre estos chicos? También, cómo puedo configurarlo para powershell puede encontrar los archivos dll?
    • Debe haber documentación que se incluye en el archivo de ayuda. También dentro de powershell a través de la «ayuda» de comandos. El complemento y alias se carga automáticamente si se ejecuta la «consola de powershell» que aparece en el menú inicio. O usted puede copiar la configuración del directorio de instalación en su $perfil. Leer mi blog para más información: richardberg.net/blog
    • No podía entender cómo hacer esto en TFS Sidekicks. Supongo que voy a probar las herramientas de poder.
    • Yo tenía un problema que los TFS Powertools Consola no saber donde está el servidor de TFS. La forma más fácil de saber que es tener la consola de acceso directo de «iniciar en» la raíz de mi copia de trabajo local; de esta manera, se detecta automáticamente el servidor de TFS. Sin embargo, me encontré con un problema que la ruta en el acceso directo era demasiado largo para Windows GUI para manejar! Tuve que desinstalar TFS powertools y volver a instalar en una ruta de acceso más corta; luego, el acceso directo de la GUI me permita editar el «iniciar en» directorio. Empecé la consola y el comando de arriba trabajado.
  2. 6

    Si usted está tratando de utilizar TFS Compinches, y no puedo entender cómo, es en Herramientas, Equipo de la Fundación Compinches, Estado de Sidekick. Usted necesidad de ampliar la ventana, pero entonces usted será capaz de buscar cerraduras para un nombre de usuario.

    • La parte superior de las dos respuestas son bastante útiles, pero esto podría ser interesante.
  3. 4

    No creo que esto es posible mediante el uso de tf.exe o incluso tfpt.exe (El Poder de la Herramienta de línea de comandos). Usted tendrá que mirar a través de los conjuntos de cambios pendientes de los cambios que se bloquea. Usted puede hacer esto en powershell con el El poder de la Herramienta de commandlets o puede hacerlo utilizando el siguiente bit de .NET de código que los ejercicios de la TFS a la API:

    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.VersionControl.Client;
    
    namespace TfsApiExample
    {
      class Program
      {
        static void Main(string[] args)
        {
          GetLockedFiles("http://tfsserver:8080","$/TeamProject");
        }
    
        private static void GetLockedFiles(string serverUrl, string serverPath)
        {
          TeamFoundationServer tfs = new TeamFoundationServer(serverUrl);
          VersionControlServer vcServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
    
          //Search for pending sets for all users in all 
          //workspaces under the passed path.
          PendingSet[] pendingSets = vcServer.QueryPendingSets(
              new string[] { serverPath }, 
              RecursionType.Full, 
              null, 
              null);
    
          Console.WriteLine(
              "Found {0} pending sets under {1}. Searching for Locks...",
              pendingSets.Length, 
              serverPath);
    
          foreach (PendingSet changeset in pendingSets)
          {
            foreach(PendingChange change in changeset.PendingChanges)
            {
              if (change.IsLock)
              {
                //We have a lock, display details about it.
                Console.WriteLine(
                    "{0} : Locked for {1} by {2}",
                    change.ServerItem, 
                    change.LockLevelName, 
                    changeset.OwnerName);
              }
            }
          }
    
        }
      }
    }
    
  4. 2

    desde el símbolo del sistema

    >powershell
    

    Luego de powershell hacer:

    PS > tf info * -recursive | &{
     begin{
      [email protected]{}
      $prefix = "loc"
     }
     process{
      if ($_ -match "Local information"){
       if ($out.Count -gt 0) {
        [pscustomobject]$out
        [email protected]{}
        $prefix = "loc"
       }
      } ElseIf ($_ -match "Server information"){
       $prefix = "svr"
      } else {
       $parts = $_.Split(':')
       if ($parts.Length -eq 2){
        $out.Add($prefix + $parts[0].Trim(), $parts[1].Trim())
       }
      }
     }
     end{
      if ($out.Count -gt 0) {
       [pscustomobject]$out
      }
     }
    } | where {!($_.svrLock -eq 'none')}
    
  5. -5

    He encontrado una opción GUI.

    1. De Inicio De Visual Studio
    2. Abrir el archivo
    3. Ir a la fuente de control
    4. A continuación, las áreas de trabajo
    5. Introduzca sus credenciales
    6. De verificación mostrar remoto áreas de trabajo
    7. Eliminar todos los no deseados de las áreas de trabajo

    De simple 🙂

    • -1 ¿Cómo es que muestra todos los archivos bloqueados de todos los usuarios?

Dejar respuesta

Please enter your comment!
Please enter your name here