2009-06-22 15 views
7

Ho una cartella con il sistema di controllo del codice sorgente TFS, diciamo sotto il percorso "$/My Project/Branches/Dev".Come ottenere la cronologia completa della cartella da TFS a livello di programmazione?

Recentemente è stato spostato da un'altra posizione, che era "$/My Project/Dev".

Ora, quando richiedo la cronologia dal Visualizzatore controllo origine in VS, viene visualizzata la cronologia completa, in cui l'operazione di spostamento descritta era solo uno dei changeset.

Ma quando provo a ottenere la cronologia utilizzando TFS SDK, la cronologia recente viene avviata solo con lo spostamento della cartella. Come posso ottenere la cronologia completa?

Sto utilizzando il seguente codice:

TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(tfsServerURL); 
    VersionControlServer vcs = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); 

    // Null means All 
    VersionSpec versionFrom = null; 

    System.Collections.IEnumerable enumerable = vcs.QueryHistory(_tfsPath, 
      VersionSpec.Latest, 
      0, 
      RecursionType.Full, 
      "", 
      versionFrom, 
      VersionSpec.Latest, 
      Int32.MaxValue, 
      true, 
      true); 

risposta

14

Si passa slotMode = true. Cambia il parametro finale in falso.

"Modalità slot" significa "query per percorso, non per cronologia". È utile se ricordi solo il vecchio nome di un oggetto ma non dove lo hai spostato, o se> 1 oggetto ha occupato un determinato percorso.

Per riferimento futuro, se si desidera vedere quali parametri VS (o tf.exe) sta passando al server in modo da poterli imitare, turn on tracing.

Problemi correlati