0

如何获取存储库中的文件数?我试过这个 C# 代码来获取存储库的树:

private TreeNode GetRepoTreeNodes(string currentrepourl, string currentnodepath, ref SvnClient sc)
        {
            List<TreeNode> tnkids = new List<TreeNode>();

            //using (SvnClient sc = new SvnClient())
            //{
                Collection<SvnLis​tEventArgs> repocontents = null;
                if (sc.GetList(new Uri(currentrepourl), out repocontents))
                {
                    foreach (SvnListEventArgs kiditem in repocontents)
                    {
                        if (!string.IsNullOrEmp​ty(kiditem.Path))
                        {
                            TreeNode tn = GetRepoTreeNodes(currentrepourl + @"/" + kiditem.Path, kiditem.Path, ref sc);
                            // TreeNode tn = new TreeNode(kiditem.Path, tnkids.ToArray());
                            tnkids.Add(tn);
                        }
                    }
                }
            //}

            TreeNode thenode = new TreeNode(currentnodepath, tnkids.ToArray());
            return thenode;
        }

问题是,当它到达循环末尾时,它仍然将文件视为目录并引发异常。我找不到解决方案。如果您有其他方法可以满足此目的,请提供帮助。谢谢

4

1 回答 1

0

看看这两个答案——它们应该让你对如何使用GetList()来完成你正在尝试的事情有一个很好的了解:

于 2013-05-22T13:35:38.503 回答