私はsharpsvnによるsubversionの下のディレクトリでチェックアウトを行うプロジェクトを持っています。ここでやりたいのは、プログレスバーにチェックアウトプロセスを表示することですが、そのためには、ボードのサイズ、ライブラリのどのプロパティまたは決定を知る必要がありますか?ディレクトリのサイズを返しますか?
前もって感謝します!
私はsharpsvnによるsubversionの下のディレクトリでチェックアウトを行うプロジェクトを持っています。ここでやりたいのは、プログレスバーにチェックアウトプロセスを表示することですが、そのためには、ボードのサイズ、ライブラリのどのプロパティまたは決定を知る必要がありますか?ディレクトリのサイズを返しますか?
前もって感謝します!
TortoiseSVN は、チェックアウト プログレスバーで同様のことを行います。そのソースコードをチェックアウトできます。
チェックアウトを介して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));
ありがとう