C# TFS workspace.get() 文件已更新
C# TFS workspace.get() files updated
所以在这种情况下,我尝试使用 workspace.get()
函数获取所有文件的最新信息。但是,这不会 return 更新的文件列表,它只是获取最新的文件,然后为您提供一个 GetStatus 对象。有没有办法知道更新了哪些文件? (只要文件路径就好)
根据请求编辑
我会尽力澄清...我实际上是在尝试使用 workspace.Get() 函数(在我已经拥有的工作区对象上),而不仅仅是获得我想要的状态了解更新的实际文件名。
我找到的方法是使用 VersionControlServer
对象上的 GetItems()
方法获取所有项目,然后手动遍历项目,添加新项目并删除任何项目现在有 DeletionId
此处概述了另一种可能更有用的方法:
您可以在您的代码中订阅 VersionControlServer.Getting
事件,它会在获取内容时告诉您(即当服务器上的文件与您的本地工作区不同时,因此 get/delete 是必需的)。
在您的 VersionControlServer 上,订阅获取事件:
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
另请参阅:
- GettingEventArgs 说明:https://msdn.microsoft.com/en-US/library/microsoft.teamfoundation.versioncontrol.client.gettingeventargs_members(v=vs.80).aspx
- 获取事件:https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.versioncontrolserver.getting(VS.80).aspx
- 这篇有用的博客文章:http://blogs.msdn.com/b/buckh/archive/2005/01/22/358674.aspx
所以在这种情况下,我尝试使用 workspace.get()
函数获取所有文件的最新信息。但是,这不会 return 更新的文件列表,它只是获取最新的文件,然后为您提供一个 GetStatus 对象。有没有办法知道更新了哪些文件? (只要文件路径就好)
根据请求编辑
我会尽力澄清...我实际上是在尝试使用 workspace.Get() 函数(在我已经拥有的工作区对象上),而不仅仅是获得我想要的状态了解更新的实际文件名。
我找到的方法是使用 VersionControlServer
对象上的 GetItems()
方法获取所有项目,然后手动遍历项目,添加新项目并删除任何项目现在有 DeletionId
此处概述了另一种可能更有用的方法:
您可以在您的代码中订阅 VersionControlServer.Getting
事件,它会在获取内容时告诉您(即当服务器上的文件与您的本地工作区不同时,因此 get/delete 是必需的)。
在您的 VersionControlServer 上,订阅获取事件:
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
另请参阅:
- GettingEventArgs 说明:https://msdn.microsoft.com/en-US/library/microsoft.teamfoundation.versioncontrol.client.gettingeventargs_members(v=vs.80).aspx
- 获取事件:https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.versioncontrolserver.getting(VS.80).aspx
- 这篇有用的博客文章:http://blogs.msdn.com/b/buckh/archive/2005/01/22/358674.aspx