按照此处找到的代码: 如何检查文件是否在 SharpSvn 中的源代码控制下?
我正在尝试制作一个小型实用程序应用程序,它将遍历指定文件夹并打印出所有文件的状态。
private void btnCheckSVN_Click(object sender, EventArgs e)
{
ParseSVNResults(CheckSVN());
}
private Collection<SvnStatusEventArgs> CheckSVN()
{
string path = @"C:\AMG\trunk\AMC";
if (!Directory.Exists(path))
return null;
DevExpress.Utils.WaitDialogForm wait = new DevExpress.Utils.WaitDialogForm();
wait.Caption = "Please wait, loading SVN file statuses. This may take a moment.";
wait.Caption += Environment.NewLine + path;
wait.Show();
SvnClient client = new SvnClient();
SvnStatusArgs sa = new SvnStatusArgs();
sa.Depth = SvnDepth.Infinity;
Collection<SvnStatusEventArgs> statuses;
client.GetStatus(path, sa, out statuses);
wait.Close();
return statuses;
}
private void ParseSVNResults(Collection<SvnStatusEventArgs> results)
{
if (results == null)
return;
int modified = 0;
int unversioned = 0;
foreach (SvnStatusEventArgs item in results)
{
memoEditSVNFiles.Text += item.LocalContentStatus.ToString() + " -- " + item.Path + Environment.NewLine;
if (item.LocalContentStatus.ToString() == "Modified")
modified++;
else if (item.LocalContentStatus.ToString() == "NotVersioned")
unversioned++;
}
memoEditSVNFiles.Text += Environment.NewLine + "Modified: " + modified + Environment.NewLine;
memoEditSVNFiles.Text += "Not Versioned: " + unversioned + Environment.NewLine;
memoEditSVNFiles.Text += "Total: " + results.Count;
}
当代码执行时,我总共得到 147 个文件和文件夹。实际文件夹有几千个文件。是否有可能我正在查看太多文件,而 SharpSVN 会在一段时间后退出?
编辑; 我只是尝试创建大约 100 个文本文件并将 30 个放入 3 个文件夹,然后“嵌套”它们。所以我有;
C:\AMG\trunk\test 有 ~30 个文件 C:\AMG\trunk\test\Folder1 有 ~30 个文件 C:\AMG\trunk\test\Folder1\Sub 有另外 30 个文件
如果不将其提交到存储库,当我在 C:\AMG\trunk\test 上运行上述代码而不是我的代码片段中的给定路径时,输出显示 1 个总文件。