0

私はsharpsvnによるsubversionの下のディレクトリでチェックアウトを行うプロジェクトを持っています。ここでやりたいのは、プログレスバーにチェックアウトプロセスを表示することですが、そのためには、ボードのサイズ、ライブラリのどのプロパティまたは決定を知る必要がありますか?ディレクトリのサイズを返しますか?

前もって感謝します!

4

2 に答える 2

0

TortoiseSVN は、チェックアウト プログレスバーで同様のことを行います。そのソースコードをチェックアウトできます。

于 2010-10-08T10:54:42.293 に答える
0

チェックアウトを介してSubversionへのダウンロードディレクトリのサイズを取得することができたので、ダウンロードの全体的なサイズで変数「total_size」を取得します。ダウンロードプロセスをプログレスバーに表示するには、ダウンロードされたビットをキャプチャして合計と比較し、それらをプログレスバーに割り当てる必要がありますが、このデータを取得する方法はありません...誰かが同様のことをしましたか? そのプロパティとコードを使用したことを教えてくれますか?

              //This collection will contain property collections for each node
              System.Collections.ObjectModel.Collection<SvnPropertyListEventArgs> proplist;

              //This is where we can specify arguments to svn proplist
              SvnPropertyListArgs args = new SvnPropertyListArgs();

              args.Depth = SvnDepth.Infinity;

              //This method is what executes svn proplist
              client.GetPropertyList(targetSource, args, out proplist);

              //Each SvnPropertyListEventArgs represents the prop. set for a node
              foreach (SvnPropertyListEventArgs node in proplist)
              {
                  //Each SvnPropertyValue represents a single name/value property pair
                  foreach (SvnPropertyValue propVal in node.Properties)
                  {
                      items.Items.Add(node.Path);
                  }
              }

              int total_items = items.Items.Count;
              long totalsize = 0;
              for (int i = 0; i < total_items; i++)
              {
                  client.GetInfo(new Uri(items.Items[i].ToString()), out info);
                  totalsize = totalsize + info.RepositorySize;

              }
              MessageBox.Show(string.Format("The total size of {0} is {1}", targetSource, totalsize));

ありがとう

于 2010-10-08T10:27:33.310 に答える