我正在尝试使用SharpSVN,我希望能够知道我的本地副本是否过时。
我已经创建了一些更新代码:
public void UpdateSource()
{
var svn = new SvnClient();
SvnUpdateResult result;
var boolValue = svn.Update(@"C:\Dev\EasyHttp\trunk", out result);
}
但是我想做这样的事情:
public void UpdateSource()
{
var svn = new SvnClient();
if(svn.IsOutOfDate(path))
{
SvnUpdateResult result;
var boolValue = svn.Update(path, out result);
}
}
客户端检查存储库以查看是否有任何文件已过期,如果是,则更新整个结帐。有没有办法做到这一点?
我可以看到SvnUpdateResult
内部有一个Revision
属性,这是否意味着我必须存储最后一个版本属性,或者是否有一些指示来说明是否已进行更改?
对于这个应用程序,可以更新并查看是否有更改但理想情况下我希望能够在不更新本地副本的情况下进行检查。
答案 0 :(得分:2)
知道如何使用命令行客户端将在这里派上用场,因为它具有完全相同的功能。
使用命令行客户端,可以针对工作副本运行svn status -u
,以询问服务器有关那里存在但尚未更新到工作副本的任何更改。
SharpSVN中的等效项似乎是使用GetStatus()
方法(或可能Status()
,SvnStatusArgs
参数包含ContactRepository = true
。请参阅http://sharpsvntips.net/post/45301419716/getstatus-and-status更多。