从SVN存储库获取提交列表并将其显示在自己的应用程序中

时间:2018-01-31 15:46:38

标签: c# .net svn svn-api

我需要实现从SVN存储库中检索提交列表并在网页上显示它们的应用程序。

我该怎么办?

我不太了解我应该使用什么。似乎可以使用一些SVN api或库来完成......

(.NET中的应用程序)

2 个答案:

答案 0 :(得分:1)

这是我用来从.NET环境执行SVN命令的一个很棒的函数:

// execute a SVN command and fetch the output as a string
private string ExecuteSVNCommandWithOutput(string SVNCommand)
{
    string output = "";

    try
    {
        using (Process p = new Process())
        {
            p.StartInfo.FileName = "cmd";
            p.StartInfo.Arguments = "/c " + SVNCommand;
            p.StartInfo.RedirectStandardOutput = true; 
            p.Start();

            output = p.StandardOutput.ReadToEnd();
            p.WaitForExit();
        }
    }
    // unexpected error
    catch (Exception ex)
    {
        output = ex.ToString();
    }

    return output;
}

出于您的目的,我会执行以下操作来运行svn log

ExecuteSVNCommandWithOutput(@"svn log C:\Repositories\YourRepositoryName");

然后,您可以将字符串输出解析为Array或某种List。希望这可以帮助!

答案 1 :(得分:0)

您可以从命令行调用svn log(http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.log.html)(或使用Process类),将输出重定向到文件,然后打开并解析文件。

解析默认文本输出并不难,但使用--xml选项,可以使用任何XML库更轻松地解析文件。