2011-07-11 24 views

回答

4

有几种方法可以通过编程来实现,但最简单的方法是让服务器为您确定这一点:如果您使用预览获取选项集执行获取最新操作,则实际上不会执行get操作,它只会告诉你什么会被检索到,以使你可以使用最新版本。

例如:

GetStatus status = workspace.Get(new GetRequest(null, VersionSpec.Latest), GetOptions.Preview); 

if(status.NumOperations == 0) 
{ 
    /* All files up to date. */ 
} 
else 
{ 
    /* We are not up to date on some files. */ 
} 
+0

我试过了。但是,即使该文件夹是最新的属性返回大于0的值。在这两种情况下,该值大于0.下面是代码GetStatus s1 = workspace.Get(new GetRequest(new ItemSpec(strLocalWorkspacePath,RecursionType.Full) ,VersionSpec.Latest),GetOptions.GetAll | GetOptions.Overwrite); int i = s1.NumOperations; –

+0

请勿使用GetOptions.GetAll。即使你是最新的,这也会迫使你获胜。事实上,如果您的唯一目标是*发现*您是否需要执行get操作,而不是执行get操作,那么您需要使用GetOptions.Preview,它与GetOptions.GetAll和GetOptions.Overwrite都不兼容。 –

相关问题