リポジトリ内のすべてのブランチに関する情報を抽出する方法を探しています。私は枝の名前だけに興味があります。
私はSVNKitをいじってみましたが、この情報を取得する方法を理解できませんでした。
svnbook、第4章から:
このセクションからの2つの重要な教訓を覚えておく必要があります。まず、Subversionにはブランチの内部概念がなく、コピーの作成方法しか知りません。ディレクトリをコピーすると、その意味を付加するため、結果のディレクトリは「ブランチ」にすぎません。ディレクトリの考え方や扱い方は異なるかもしれませんが、Subversionにとっては、たまたま追加の履歴情報を運ぶ通常のディレクトリにすぎません。
次に、このコピーメカニズムにより、Subversionのブランチはリポジトリ内の通常のファイルシステムディレクトリとして存在します。これは、ファイルのコレクションに次元外の「ラベル」を追加することによってブランチが通常定義される他のバージョン管理システムとは異なります。ブランチディレクトリの場所はSubversionには関係ありません。ほとんどのチームは、すべてのブランチを/ branchsディレクトリに配置するという規則に従いますが、任意のポリシーを自由に考案できます。
ブランチ名を取得するには、リポジトリの内部構造に関する情報を知っている必要があります。すべてのブランチを取得するための一般的なアプローチがあるとは思えません。これらはローカルコピーにすぎないからです。
リポジトリ構造がわかっている場合は、どちらSVNLogClient.doList(SVNURL, SVNRevision, SVNRevision, boolean, boolean, ISVNDirEntryHandler)
かを使用するか、より低レベルのSVNRepository
APIを直接使用することができます。次のlistEntriesの例をご覧ください。
http://wiki.svnkit.com/Printing_Out_A_Subversion_Repository_Tree
Eclipseでctrl+3を実行し(BTW私のお気に入りのEclipseショートカット)、リポジトリーと入力します。これにより、SVNリポジトリービューを開くオプションが表示されます。
ビューを開いたら、リポジトリが追加されていない場合は追加します...追加すると、ビューを展開して通常のディレクトリツリーとして参照できるようになり、すべてのブランチの名前を確認できるようになります。