1

svnにコミットした後に変更をデータベースにプッシュするツールを書いています。

問題は、特定のリビジョンのdirを取得する方法です。

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()では、リビジョンに関係なく、すべてのdirをurlから取得します。もちろん、ifを使用してそれらを取り除くことはできますが(現在行われているように)、それは良いアプローチではないと思います。

そのための具体的な方法はありますか?

4

1 に答える 1

0

AFAIKにはそのような方法はなく、もしあれば、SVNプロトコルもこの種のクエリをサポートする必要があります。そうしないと、パフォーマンスが向上しません。log()を発行して、ターゲットリビジョンの変更されたパスを見つけ、リポジトリにそれぞれを照会することができます。

于 2010-03-30T19:13:12.320 に答える