2010-03-09 63 views
4

我在找一个简单的C#脚本来导出一个SVN文件夹。C#代码导出SVN文件夹

注意:我已经在这个Win 2008 R2服务器上安装了tortoise 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 
} 

回答

8

使用SharpSvn's SvnClient Export Method它真的很容易:

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

您可以自动作为help files描述的所有的TortoiseSVN通过命令行命令。或者你可以直接安装和调用Subversion二进制文件。

您可能要考虑的一件事情是,导出命令将只复制版本控制文件(受版本控制的文件)。如果您还有其他文件需要复制(例如构建输出或生成的文件),那么我建议您使用其他方法,例如,例如(使用xcopy)通过TheCatcher在this forum post所示的命令行的解决方案:该目录不应该被导出/复制(所有文件

  1. 创建一个文本文件(例如c:\ignore.txt)通常此只包含一个行:.svn排除SVN文件夹)。
  2. 创建一个批处理文件,其中包含下面的命令做出口:
  3. XCopy C:\WorkingCopyFolder C:\TargetFolder /EXCLUDE:C:\ignore.txt /E /C /I /F /R /Y