Pregunta

Este es mi problema. Tengo un script de construcción que se suma a las asignaciones de un determinado espacio de trabajo de forma dinámica, y luego los unmaps cuando está a través. Me preocupa que si (cuando) mi guión falla antes de que se realiza la descorrelación, las asignaciones serán de régimen libre hasta la próxima vez y enredar las cosas.

Así que me gustaría desasignar todo el espacio de trabajo en el inicio de la secuencia de comandos, y volver a crearlo, pero el problema es que no sé específicamente lo que podría estar allí. A través de la línea de comandos TFS puedo desasignar con bastante facilidad, pero usted tiene que saber exactamente lo que el mapeo es. Mi pregunta es ¿cómo es el, mejor manera más fácil de hacer esto?

Gracias por su ayuda!

¿Fue útil?

Solución

Si está seguro de que no habrá ningún cambio pendiente en el espacio de trabajo que necesita para preservar, es probablemente más fácil de eliminar por completo y crear una nueva.

O si desea seguir con su algoritmo, las herramientas eléctricas hacen que sea mucho más fácil:

$ws = get-tfsworkspace .
$ws.Folders | % { $ws.DeleteMapping($_) }

Otros consejos

Mi solución era salvar la salida de este ...

$workspace_info = [String[]] (&$tfs_cli workfold /workspace:$workspace_name)

... en una matriz de cadenas, a continuación, iterar sobre ella, en busca de "$ /", que indica un mapeo y unmap

foreach($wi in $workspace_info) 
{ 
    if($wi.Contains("$/")) 
    { 
        $mapping = $wi
        #minor string manipulation code left out for brevity

        &$tfs_cli /unmap $mapping /workspace:$workspace_name
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top