2010-03-09 92 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