检查svn c中特定目录中的更新#

时间:2013-04-25 14:30:29

标签: c# svn revision sharpsvn svn-update

我正在尝试检查某个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目录的修订版。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用它来获取特定目录的最新修订号:

SvnInfoEventArgs info;
client.GetInfo(RemotePath, out info);
return info.LastChangeRevision;

其中RemotePath是您要检查的文件夹的目录(例如https://svn.exmaple.com/local.../somefolder),而不是存储库的路径。