14

私は単純なリポジトリブラウザをWebアプリケーションに構築しようとしており、SharpSvnを使用して支援することを検討しています。

update、commitなど、実際にリポジトリまたは作業コピーに変更を加える通常の物理コマンドをすべて見つけることができますが、リポジトリの構造またはコンテンツをクエリする方法を見つけるのに苦労しています。

リポジトリの構造を読み取って、Webページにインターフェイスのような単純なエクスプローラーを表示できるようにする方法はありますか(つまり、ディレクトリのツリービューとファイルのリスト)?

4

1 に答える 1

15

このSharpSvn.SvnClientクラスには、非常にうまく機能するGetList()関数があります。

using (SvnClient svnClient = new SvnClient())
{
   Collection<SvnListEventArgs> contents;
   List<string> files = new List<string>();
   if (svnClient.GetList(new Uri(svnUrl), out contents))
   {
      foreach(SvnListEventArgs item in contents)
      {
         files.Add(item.Path);
      }
   }
}

コレクションを入手したら、その場所で各アイテムのパスを取得できます。Entryオブジェクトを使用して、ディレクトリかファイルか、最後に変更された日時など、各アイテムに関する情報を取得することもできます。

于 2011-04-15T16:11:31.517 に答える