C#代码导出SVN文件夹

时间:2010-03-09 14:39:40

标签: c# svn tortoisesvn

我正在寻找一个可以导出SVN文件夹的简单C#脚本。

注意:我已经在这个Win 2008 r2服务器上安装了tovise svn。

感谢您的帮助!

示例:

//SVN: 
string source = c:\project\websiteFiles\

//Export to:
string target = c:\inetpub\hockeyWebsite\

ExportSVNfolder(source, target)
{
// export the files

// wait till export is 100% complete

// return
}

3 个答案:

答案 0 :(得分:8)

使用SharpSvn's SvnClient Export Method非常简单:

SharpSvn.SvnClient svnclient = new SvnClient();
svnclient.Export(new SvnUriTarget(source),
    target, new SvnExportArgs());

答案 1 :(得分:3)

我建议使用SharpSVN

答案 2 :(得分:0)

您可以通过命令行自动执行所有TortoiseSVN命令,如help files中所述。或者您可以直接安装和调用subversion二进制文件。

您可能想要考虑的一件事是,export命令只会复制版本化文件(受版本控制的文件)。如果您还有其他必须复制的文件(例如构建输出或生成的文件),那么我建议您使用其他方法,例如:例如TheCatcher在this forum post中显示的命令行解决方案(使用xcopy):

  1. 创建一个文本文件(例如c:\ignore.txt),列出所有不应导出/复制的文件(通常只包含一行:.svn以排除SVN文件夹)。
  2. 创建一个包含以下命令的批处理文件以执行导出:
  3. XCopy C:\WorkingCopyFolder C:\TargetFolder /EXCLUDE:C:\ignore.txt /E /C /I /F /R /Y