2012-08-23 16 views
8

Sto lavorando con TFS a livello di programmazione utilizzando le classi da Microsoft.TeamFoundation.VersionControl.Client namespace. Il mio obiettivo è quello di archiviare i file dalla cartella locale nel controllo del codice sorgente. Alcuni file potrebbero già esistere in SC e dovrebbero essere modificati, alcuni sono nuovi e dovrebbero essere aggiunti, alcuni esistono in SC e non sono stati modificati, quindi non ho bisogno di fare nulla con loro.Verificare se il file è già nel controllo sorgente

Il mio problema è che non riesco a capire come controllare se un file esiste già nel controllo del codice sorgente, quindi non posso decidere nel mio codice se aggiungerlo o modificarlo. Nessuno dei metodi Workspace sembra fare ciò di cui ho bisogno.

Il codice che ho:

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

Si fa il lavoro, ma sembra muto e si sente lento. Qual è il modo corretto per farlo?

+0

non è sicuro su TFS. ma ogni scm ha 'status' che può essere usato per verificare se il file esiste in un repository –

risposta

10

Non so 'corretto', ma in uno dei miei strumenti mi avvalgo di VersionControlServer.ServerItemExists per ottenere quello che stai dopo.

Nel tuo caso si dovrà verificare con qualcosa di simile:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any) 
Problemi correlati