所以在这种情况下,我正在尝试使用workspace.get()
函数获取所有文件的最新信息。但是,这不会返回已更新的文件列表,它只会获取最新文件,然后会为您提供GetStatus对象。有没有办法知道哪些文件已更新? (只是文件路径很好)
按请求编辑
我会尝试更好地澄清......我真的试图使用workspace.Get()函数(在我已经拥有的工作区对象上)而不是仅仅获取状态我想知道实际已更新的文件名。
答案 0 :(得分:2)
这里概述了另一种可能更有用的方法:
您可以在代码中订阅VersionControlServer.Getting
事件,该事件将告诉您何时获取事件(即,当服务器上的文件与本地工作区不同时,因此需要获取/删除)。
在VersionControlServer上,订阅Getting事件:
vcs.Getting += Getting;
然后你可以制作获取方法:
internal static void Getting(Object sender, GettingEventArgs e)
{
//'e' has lots of properties and methods to help you figure out what has been done with the files.
}
每次下载项目时都会调用 Getting
。
e
的属性包括:
ChangeType
(请参阅https://msdn.microsoft.com/en-US/library/microsoft.teamfoundation.versioncontrol.client.changetype(v=vs.80).aspx)DiskUpdateAttempted
IsDelete
另见:
答案 1 :(得分:1)
我发现这样做的方法是使用GetItems()
对象上的VersionControlServer
方法抓取所有项目并手动循环遍历项目,添加新项目并删除任何现在的项目有一个DeletionId