2010-03-21 4 views
0

J'espérais que je pourrais passer un DateVersionSpec en VersionControlServer.DownloadFile() mais cela ne fonctionne pas. Il me dit que l'élément n'existe pas à cette version, même si le fichier existait dans la source à la date passée.en utilisant l'API TFS comment puis-je obtenir l'ID de l'ensemble de modifications pour un fichier à une date spécifique?

Ai-je besoin d'interroger l'historique de l'élément juste pour savoir à quelle version le fichier se trouvait à la date en question? Utilisez la méthode QueryHistory(...)?

Mon code actuel:

version = new DateVersionSpec(date); 
var changeSets = this.vcServer.QueryHistory(remoteFile, VersionSpec.Latest, 0,  
    RecursionType.None, user, version, version, 50, true, false); 
if (changeSets == null) 
{ 
throw new Exception("Failed to find..."); 
} 

foreach (var item in changeSets) 
{ 

} 

Actuellement, je ne reçois pas quoi que ce soit quand je tire les changesets dénombrable.

J'utilise le code qui est un peu comme ceci: http://blogs.microsoft.co.il/blogs/srlteam/archive/2009/06/14/how-to-get-a-file-history-in-tfs-source-control-using-code.aspx

Mise à jour: le code que j'ai est assez proche (pratiquement identique au code du poste), mais il meurt si le fichier a été ajouté sur une date avant la date passée et n'a pas été modifiée depuis, c'est-à-dire qu'elle n'a qu'un seul changement et que c'est un ajout.

Répondre

1

Cela m'a eu ce que je cherchais sur mon application. Si cela ne fonctionne pas, vérifiez que votre chemin de fichier est correct. C'est ce que j'avais tort la première fois.

this.vcServer.GetItem(remoteFile, new DateVersionSpec(date)); 
Questions connexes