2012-08-23 17 views
8

Estoy trabajando con TFS programáticamente usando clases de Microsoft.TeamFoundation.VersionControl.Client namespace. Mi objetivo es registrar los archivos de la carpeta local en el control de fuente. Algunos archivos ya pueden existir en SC y deben editarse, algunos son nuevos y deben agregarse, algunos existen en SC y no han cambiado, por lo que no es necesario que haga nada con ellos.Comprueba si el archivo ya está en el control de código fuente

Mi problema es que no puedo averiguar cómo comprobar si un archivo ya existe en el control de código fuente, por lo que no puedo decidir en mi código si debería agregarlo o editarlo. Ninguno de los métodos Workspace parece hacer lo que necesito.

El código que tiene:

foreach (string file in fileList) 
{ 
    workspace.PendEdit(file); 
    workspace.PendAdd(file); 
} 

Se hace el trabajo, pero parece tonto y se siente lento. ¿Cuál es la forma correcta de hacerlo?

+0

no está seguro acerca de TFS. pero cada scm tiene 'status' que se puede usar para verificar si el archivo existe en un repositorio –

Respuesta

10

No sé "correcto", pero en una de mis herramientas utilizo VersionControlServer.ServerItemExists para obtener lo que está buscando.

En su caso, tendría que consultar con algo como esto:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any) 
Cuestiones relacionadas