我相信这个问题在多个层面上会很愚蠢或令人讨厌……
我正在使用Java语言中的SVNKit。
我想要获取在特定提交中提交的文件列表。我有发行版ID。通常我会运行如下命令
svn log -r12345 /to/repository -qv url
我会像往常一样得到命令列表。
我想不出如何在SVNKit中做类似的事情。有什么建议吗?:)
发布于 2012-06-15 06:51:05
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()调用。
https://stackoverflow.com/questions/11029968
复制相似问题