2012-02-15 8 views
3

私は、リポジトリ内のすべてのブランチに関する情報を抽出する方法を探しています。 私は枝の名前だけに興味を持っています。SVNブランチ情報from Java

私はSVNKitで遊んだりしようとしましたが、この情報を取得する方法を理解できませんでした。

+0

あなたはこの 'getLogClient()' http://svnkit.com/javadoc/org/tmatesoft/svn/core/wc/SVNClientManagerを読みになりました。 htmlとこれhttp://svnkit.com/javadoc/org/tmatesoft/svn/core/wc/SVNLogClient.html 'doLog()' –

答えて

1

リポジトリ構造がわかっている場合は、SVNLogClient.doList(SVNURL, SVNRevision, SVNRevision, boolean, boolean, ISVNDirEntryHandler)を使用するか、より低いレベルのSVNRepository APIを直接使用することができます。でlistEntriesの例を見てみましょう:

http://wiki.svnkit.com/Printing_Out_A_Subversion_Repository_Tree

+0

は魅力的に働いた!ありがとう。 –

-1

あなたのEclipse(私の好きなEclipseのショートカットはBTW)でctrl + 3を実行し、リポジトリをタイプすると、SVNリポジトリビューを開くオプションが表示されます。

リポジトリが追加されていない場合は、リポジトリを追加しないで追加してください。追加すると、それを展開して通常のディレクトリツリーとして参照することができ、その名前を見ることができますsvnbook, chapter 4からすべての支店の

+0

あなたは私を誤解しました。私はEclipseでその機能を探していません。 私はこのコードにアクセスする方法を探しています。私はbracnhesまたは何かのリストを印刷することができます。 –

+0

おっと...申し訳ありません...私はそれを行う方法がわかりません:( –

3

あなたは、このセクションから、二つの重要な教訓を忘れてはなりません。 まず、Subversionにはブランチの内部概念はありません -itはコピーの作成方法のみを認識しています。ディレクトリをコピーすると、結果のディレクトリは、その意味をそのディレクトリに付けるため、「ブランチ」に過ぎません。あなたはディレクトリを異なった方法で考えたり、違った扱いをするかもしれませんが、Subversionでは余分な歴史的情報を伝える普通のディレクトリです。

第2に、このコピーメカニズムにより、Subversionのブランチは、通常のファイルシステムディレクトリとしてというリポジトリに存在します。これは、ファイルのコレクションに余分な次元の "ラベル"を追加することによって、ブランチが一般的に定義される他のバージョン管理システムとは異なります。あなたのブランチディレクトリの場所はSubversionにとって重要ではありません。ほとんどのチームは、すべてのブランチをブランチディレクトリに入れるというコンベンションに従いますが、自由に任意のポリシーを作成することができます。

ブランチ名を取得するには、リポジトリのインターナル構造に関する情報を知る必要があります。私は疑問に思う、には一般的なアプローチがあるので、すべてのブランチを取得する - ローカルコピー以外は何もないので、

+0

ああok. 構造はわかっています私たち自身のレポ/ブランチフォルダがあります だから私は/ブランチフォルダとすべての名前を取得します。 –

関連する問題