Get list of files from TFS

I am trying to figure out how to get a list of files from a specific folder ("$ / theproject / trunk / setup /") in TFS without putting them in a local folder.

So far I have managed to connect, create a workspace and a work folder:

var server = RegisteredTfsConnections.GetProjectCollection(new Uri("http://hostname:8080/")); var projects = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(server); var versionControl = (VersionControlServer)projects.GetService(typeof(VersionControlServer)); var workspace = versionControl.CreateWorkspace(AppDomain.CurrentDomain.FriendlyName + "-installer", versionControl.AuthorizedUser); try { WorkingFolder folder = new WorkingFolder("$/theproject/trunk/setup/", "C:\\aTempFolder"); workspace.CreateMapping(folder); //this would get all files to the local folder, right? //what should I do instead to just get a file list? workspace.Get(); } finally { workspace.Delete(); } 
+8
c # tfs
source share
2 answers

Done like this:

  var server = RegisteredTfsConnections.GetProjectCollection(new Uri("http://hostname:8080/")); var projects = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(server); var versionControl = (VersionControlServer)projects.GetService(typeof(VersionControlServer)); var newestDate = DateTime.MinValue; Item newestItem = null; var items = versionControl.GetItems("$/theproject/trunk/setup/*.msi"); foreach (var item in items.Items) { if (item.ItemType != ItemType.File) continue; if (item.CheckinDate > newestDate) { newestItem = item; newestDate = item.CheckinDate; } } newestItem.DownloadFile("C:\\temp\\" + Path.GetFileName(newestItem.ServerItem)); 
+14
source share

Try the following:

 ItemSet items = versionControl.GetItems(folder.ServerItem, RecursionType.Full); 
+7
source share

Source: https://habr.com/ru/post/651342/


All Articles