0

我有一个项目,通过sharpsvn 在subversion 下的目录中进行结帐。我现在要做的是在进度条中显示结帐过程,但为此我需要知道板的大小,我将返回目录大小的库的什么属性或决定?

提前致谢!

4

2 回答 2

0

TortoiseSVN 在结账进度条上做了类似的事情,你可以查看它的源代码。

于 2010-10-08T10:54:42.293 回答
0

我设法通过结帐获得了下载目录的大小来颠覆,所以我得到了一个带有下载总大小的变量“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 回答