SharpSvn を使用してリポジトリのすべてのブランチを取得しようとしていますが、それを実行できる方法が見つかりません。
SharpSvn を使用してすべてのブランチを取得することは可能ですか?
SharpSvn.SvnClientクラスには、非常にうまく機能するGetList()関数があります。
using (SvnClient svnClient = new SvnClient())
{
Collection contents;
List files = new List();
if (svnClient.GetList(new Uri(svnUrl), out contents))
{
foreach(SvnListEventArgs item in contents)
{
files.Add(item.Path);
}
}
}
コレクションを入手したら、その場所で各アイテムのパスを取得できます。Entryオブジェクトを使用して、ディレクトリかファイルか、最後に変更された日時など、各アイテムに関する情報を取得することもできます。
SharpSVN については何も知りませんが、Subversion のブランチはディレクトリ ツリーにすぎません。特別なことは何もありません。
リポジトリが 3 つの最上位ディレクトリ (トランク/ブランチ/タグ/) を持つ典型的なレイアウトに従っている場合は、/branches ディレクトリをチェックアウトして、すべてのブランチを並べて取得できます。