如何使用 Sharpsvn 获取修订列表

发布于 2024-09-03 05:37:28 字数 26 浏览 4 评论 0原文

如何从 Sharpsvn 获取修订列表

How do I get a list of revisions from sharpsvn

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

春风十里 2024-09-10 05:37:29

如果您查看 SvnLogEventArgs 的元数据(从 GetLog 作为集合返回),它派生自 SvnLoggingEventArgs,它具有 Author 属性,修订版、时间和 LogMessage(以及其他)

每个 SvnLogEventArgs 项都有一个 ChangedPaths 集合,其中包含 SvnChangeAction 和 Path 属性。

If you look at the metadata for SvnLogEventArgs (which is returned as a collection from GetLog) it derives from SvnLoggingEventArgs, which has properties of Author, Revision, Time and LogMessage (amongst others)

Each SvnLogEventArgs item has a collection of ChangedPaths, which have properties for SvnChangeAction, and Path.

⒈起吃苦の倖褔 2024-09-10 05:37:29

您可以通过此方法获取所有日志信息的列表:

var client = new SvnClient();

System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEventArgs;

client.GetLog("targetPath", out logEventArgs);

迭代所有 logEventArgs 将为您提供一些有用的信息 - LogMessage、Author 等。


我不知道您在做什么,但我正在检查最新版本使用 SvnWorkingCopyClient 的工作副本:

var workingCopyClient = new SvnWorkingCopyClient();

SvnWorkingCopyVersion version;

workingCopyClient.GetVersion(workingFolder, out version);

然后可以通过使用本地工作存储库的最新版本。

long localRev = version.End;

对于远程存储库,请改用

 var client = new SvnClient();

 SvnInfoEventArgs info;

 client.GetInfo(targetUri, out info);

 long remoteRev = info.Revision;

这类似于从命令行使用 svnversion 工具。希望这有帮助。

You can get a list of all the log info by this method:

var client = new SvnClient();

System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEventArgs;

client.GetLog("targetPath", out logEventArgs);

Iterating through all the logEventArgs will give you some useful information - LogMessage, Author, etc.


I don't know what you're doing, but I am checking the latest version of the working copy using SvnWorkingCopyClient:

var workingCopyClient = new SvnWorkingCopyClient();

SvnWorkingCopyVersion version;

workingCopyClient.GetVersion(workingFolder, out version);

The latest version of the local working repository is then available through

long localRev = version.End;

For a remote repository, use

 var client = new SvnClient();

 SvnInfoEventArgs info;

 client.GetInfo(targetUri, out info);

 long remoteRev = info.Revision;

instead.

This is similar to using the svnversion tool from the command line. Hope this helps.

感性不性感 2024-09-10 05:37:29

猜测您的问题的真正答案很可能是 SvnClient.Log(),以获取路径更改的列表。

另一个答案是:

for (int i = 1; i < 101; i++)
  yield return i;

让您对存储库进行前 100 次修订;-)

请参阅 使用 SharpSvn 检索某个日期范围内的日志条目,了解有关如何使用 SvnClient.Log() 的一些示例

Guessing at what your question really is about the answer is most likely SvnClient.Log(), to get you a list of changes of a path.

Another anwer would be:

for (int i = 1; i < 101; i++)
  yield return i;

to get you the first 100 revisisions of a repository ;-)

See Using SharpSvn to retrieve log entries within a date range for some examples on how to use SvnClient.Log()

苯莒 2024-09-10 05:37:29

这是您可以获取列表修订号中的所有修订版本的代码形式。 UriSCpath 将是 svn 路径的 uri。

 SvnTarget tr = SvnTarget.FromUri(UriSCPath);
                Collection<SvnLogEventArgs> logEventArgs;
                List<Int64> revisionNumbers = new List<Int64>();
                SvnLogArgs logArgs = new SvnLogArgs();
                DPISVN_Clnt.GetLog(UriSCPath, logArgs, out logEventArgs);

                Int64 latestReision = logEventArgs[0].Revision;

                foreach (var item in logEventArgs)
                {
                        revisionNumbers.Add(item.Revision);

                }

This is the code form which you can get all the revisions no in list revisions numbers. UriSCpath will be uri for svn path.

 SvnTarget tr = SvnTarget.FromUri(UriSCPath);
                Collection<SvnLogEventArgs> logEventArgs;
                List<Int64> revisionNumbers = new List<Int64>();
                SvnLogArgs logArgs = new SvnLogArgs();
                DPISVN_Clnt.GetLog(UriSCPath, logArgs, out logEventArgs);

                Int64 latestReision = logEventArgs[0].Revision;

                foreach (var item in logEventArgs)
                {
                        revisionNumbers.Add(item.Revision);

                }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文