gpt4 book ai didi

java - 使用 SVNKit 的 SVN 日志

转载 作者:行者123 更新时间:2023-12-02 07:44:56 25 4
gpt4 key购买 nike

我确信这个问题在多个层面上都是愚蠢或烦人的......

我在 Java 中使用 SVNKit。

我想获取在特定提交中提交的文件列表。我有发布 ID。通常我会运行类似的东西

svn 日志 url/to/repository -qv -r12345

我会像平常一样获得命令列表。

我不知道如何在 SVNKit 中做类似的事情。有小费吗? :)

最佳答案

final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
final SvnLog log = svnOperationFactory.createLog();
log.setSingleTarget(SvnTarget.fromURL(url));
log.addRange(SvnRevisionRange.create(SVNRevision.create(12345), SVNRevision.create(12345)));
log.setDiscoverChangedPaths(true);
final SVNLogEntry logEntry = log.run();

final Map<String,SVNLogEntryPath> changedPaths = logEntry.getChangedPaths();
for (Map.Entry<String, SVNLogEntryPath> entry : changedPaths.entrySet()) {
final SVNLogEntryPath svnLogEntryPath = entry.getValue();
System.out.println(svnLogEntryPath.getType() + " " + svnLogEntryPath.getPath() +
(svnLogEntryPath.getCopyPath() == null ?
"" : (" from " + svnLogEntryPath.getCopyPath() + ":" + svnLogEntryPath.getCopyRevision())));
}

如果您想针对某一修订范围运行一个日志请求,则应将 log.setReceiver() 调用与接收器实现一起使用。

关于java - 使用 SVNKit 的 SVN 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11029968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com