2017-10-20 39 views
0

J'ai un morceau de code qui regarde l'état d'un espace de travail, quelque chose comme ci-dessous.est-il un moyen d'obtenir les noms de fichiers qui doivent être mis à jour si TFS status.Numoperations! = 0?

var status = workspace.Get(request, GetOptions.Preview).NumOperations; 

si le statut est supérieur à zéro, je veux connaître le nom ou le chemin complet des fichiers sur lesquels l'opération get sera effectuée. Je prévois de faire un get sélectif après avoir obtenu la liste des fichiers.

est-ce possible?

+0

Avez-vous référer à la documentation? Quels problèmes avez-vous pour implémenter votre solution? –

+0

Je regarde la documentation et je n'ai toujours rien trouvé d'utile, peut-être que je me trompe. C'est juste que je veux faire un dernier choix sur mon répertoire après avoir regardé quel fichier doit être mis à jour. –

+0

@AhmedDaniel Avez-vous vérifié la [Méthode VersionControlServer.GetItems] (https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.versioncontrolserver.getitems (v = vs.120) .aspx), sinon, vous pouvez vérifier si cela aide. Aussi ce lien: https://paulselles.wordpress.com/2014/01/08/team-foundation-server-api-programmatically-downloading-files-from-source-control/ –

Répondre

1

Vous devez interroger les changesets entre votre espace de travail local et le serveur, puis analyser les fichiers modifiés dans l'ensemble de modifications.

Utilisez VersionControlServer.QueryHistory() pour obtenir les chanages:

var changes = vcs.QueryHistory("$/ServerPath", VersionSpec.Latest, 0, RecursionType.Full, null, new WorkspaceVersionSpec(localworkspace),null,Int32.MaxValue,true,true); 
+0

Merci cela a aidé ... Je regardais le problème dans le mauvais sens :(, en obtenant les fichiers modifiés entre local et serveur, je pouvais faire ce que je voulais. –