如何从SharpSVN获取最新版本号?

Tom*_*ski 31 c# svn sharpsvn

如何使用SharpSVN获取最新版本号?

Ber*_*ben 40

从存储库中检索头部修订版的最便宜的方法是Info命令.

using(SvnClient client = new SvnClient())
{
   SvnInfoEventArgs info;
   Uri repos = new Uri("http://my.server/svn/repos");

   client.GetInfo(repos, out info);

   Console.WriteLine(string.Format("The last revision of {0} is {1}", repos, info.Revision));
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您想要给定路径(而不是整个仓库)的最新版本,则可以返回`info.LastChangeRevision`. (3认同)

CJB*_*rew 17

我正在使用SvnWorkingCopyClient检查最新版本的工作副本:

var workingCopyClient = new SvnWorkingCopyClient();

SvnWorkingCopyVersion version;

workingCopyClient.GetVersion(workingFolder, out version);
Run Code Online (Sandbox Code Playgroud)

然后可以通过以下方式获得最新版本的本地工作存储库

long localRev = version.End;
Run Code Online (Sandbox Code Playgroud)

对于远程存储库,请使用

 var client = new SvnClient();

 SvnInfoEventArgs info;

 client.GetInfo(targetUri, out info);

 long remoteRev = info.Revision;
Run Code Online (Sandbox Code Playgroud)

代替.

这类似于从命令行使用svnversion工具.希望这可以帮助.


Tom*_*ski 9

好的,我自己想通了:

SvnInfoEventArgs statuses;
client.GetInfo("svn://repo.address", out statuses);
int LastRevision = statuses.LastChangeRevision;
Run Code Online (Sandbox Code Playgroud)