1

我正在编写一个工具,它将在提交到 svn 后将更改推送到数据库。

问题是如何检索特定版本的目录。

SVNClientImpl clientImpl = SVNClientImpl.newInstance();
clientImpl.username(name);
clientImpl.password(password);
DirEntry[] dirs = clientImpl.list(url, Revision.getInstance(revision), true);
for (DirEntry d : dirs) {
   if (d.getLastChangedRevisionNumber() != revision)
      System.out.println(d.getLastChangedRevisionNumber());
}

问题是,在这种情况下, list()会从 url 中检索所有目录,无论它们有什么版本。当然,我可以使用if剥离它们(就像现在所做的那样),但我认为这不是一个好方法。

有没有具体的方法呢?

4

1 回答 1

0

AFAIK 没有这样的方法,如果有的话,SVN 协议也必须支持这种查询,否则你将不会获得性能提升。您可以发出 log() 来找出目标修订的更改路径并查询每个修订的存储库。

于 2010-03-30T19:13:12.320 回答