我正在尝试检查某个svn子目录是否已更新,如果是,请更新我的整个工作目录。
以下是我的工作:
SvnClient svnClient = new SvnClient();
SvnWorkingCopyClient workingCopyClient = new SvnWorkingCopyClient();
SvnInfoEventArgs svnInfo;
SvnWorkingCopyVersion workingCopyVersion;
Uri svnRepository = new Uri(m_svnAddress + /local/trunk/somefolder");
svnClient.GetInfo(svnRepository, out svnInfo);
workingCopyClient.GetVersion("C:\\Workspace\\somefolder", out workingCopyVersion);
int recentSvnRevision = unchecked((int)svnInfo.Revision);
int currentVersion = unchecked((int)workingCopyVersion.End);
if (recentSvnRevision != currentVersion)
// Do stuff
问题是recentSvnRevision
被设置为svn上整个目录的最新版本号,而不是/local/trunk/somefolder
目录的修订版。
有什么想法吗?
答案 0 :(得分:1)
您可以使用它来获取特定目录的最新修订号:
SvnInfoEventArgs info;
client.GetInfo(RemotePath, out info);
return info.LastChangeRevision;
其中RemotePath是您要检查的文件夹的目录(例如https://svn.exmaple.com/local.../somefolder),而不是存储库的路径。