2008-10-21 77 views
13

當我需要上傳到服務器的Web解決方案時,他們特別討厭。龜SVN隱藏_svn文件夾

有沒有配置SVN的方式來創建我的工作目錄之外的_svn文件夾? 如果不是,當您只需要複製代碼時,處理它們的最佳方法是什麼?

更新:因爲有沒有源控制,但需要像.dll文件的XML數據文件或數據庫文件下的文件,他們將不會被導出使用「SVN導出」命令是有問題的。因此,每次需要在工作副本的不同子目錄中手動複製它們。

+1

因此,您可能需要考慮您的服務器環境設置;如果你有shell訪問權限,svn uping,並且簡單地使用_svn文件夾來非公開,可能是處理事情的一種更簡單的方法。 – 2008-10-21 15:14:16

+0

爲什麼你有不在源代碼管理下的文件?也許你應該創建一個項目標籤並將這些文件添加到標籤中。然後導出標籤。 – Rahul 2008-10-21 15:21:04

+0

執行導出,然後從導出的版本進行構建和部署。 – 2008-10-21 15:29:52

回答

26

配置SVN(或TortoiseSVN)在工作副本之外創建.svn(或_svn)目錄不是(當前)可能的。我相信SVN 1.6路線圖包括重新訪問工作副本庫。將管理目錄放在其他地方的能力可能會出現在這項工作中,但我在猜測。

您應該使用「svn export」命令來創建工作副本的「乾淨」副本(即沒有_svn目錄)。這從命令行客戶端工作。

如果您使用的是TortoiseSVN,您可以右鍵單擊工作副本,然後選擇「導出...」。這會要求您輸入文件的文件夾。或者,您可以右鍵拖拽工作副本到一個文件夾(不是工作副本),TortoiseSVN將彈出一個上下文菜單;其中的選項是「SVN導出到這裏」和「SVN導出全部到這裏」,後者也導出文件不受版本控制

17

使用「svn export」創建一個乾淨的目錄樹。

1

Windows中真正髒的方式:創建項目的副本,打開資源管理器,導航到副本所在的目錄,然後執行以_svn結尾的所有內容的查找。搜索完成後,選擇全部並點擊刪除。

Yuck!但它的工作原理確實是

3

如果您使用nant腳本啓用部署到網絡服務器,則它具有_SVN和_SVN/**作爲複製文件時自動排除。 。通過複製其副本任務的文件時,包括楠將過濾掉大量的unwaanted文件:

  • **/*〜
  • ** /#*#
  • ** /#*
  • * */*%%
  • **/CVS
  • /CVS/
  • ** /。CVSIGNORE
  • ** /。SVN
  • /。SVN/
  • **/_ SVN
  • /_svn/
  • **/SCCS
  • /SCCS/
  • **/vssver.scc
  • /_vti_cnf/

您可以在其項目主頁中閱讀更多關於南特的信息h ere:NANT Home

4

在TortoiseSVN中,您可以正確點擊工作副本並將其拖動到其他地方。當出現彈出式菜單時,選擇「SVN導出到此處」。 (這需要自出口工作副本中的所有代碼在檢查中會從軀幹和從工作拷貝)

看到這些資源的詳細信息:

2

+1從伊薩克薩沃的解決方案。

你可以做一個XCOPY和排除 「/ SVN」 文件夾:

XCOPY%1%1_deploy /EXCLUDE:C:\ExcludeSVN.txt/E/C/I/F/R/Y

內容ExcludeSVN.txt的:

/_svn

事實上,如果你想upoload到Web服務器,您排除文件可以包含很多:

  • .PDB
  • 的.cs
  • 的.resx
  • 的.csproj
  • 的.sln
  • .webinfo
  • .BAK
  • .SQL
  • 的.zip
  • .vspscc
  • .vssscc
  • .scc
  • \ Web.config文件

警告:如果排除的.cs文件,你給重新複製。後

12

Robocopy部署CSS文件...

robocopy {source} {dest} /MIR /XD _svn /XD .svn 
0

我們以創建存儲庫的全新副本使用CruiseControl的與ROBOCOPY。

<exec> 
     <executable>C:\Archivos de programa\Windows Resource Kits\Tools\robocopy.exe</executable> 
     <buildArgs>E:\CruiseControl\yourproject\Code\trunk\ E:\wwwroot\yourproject *.* /E /XX /XA:H /XO /NDL /NC /NS /NP /XF "*.cache" "*.designer.cs" "*.sln" "*.msbuild" "*.csproj" "*.PDB" "*.user" "*.designer" /XD .svn App_Code obj Properties</buildArgs> 
     <buildTimeoutSeconds>60</buildTimeoutSeconds> 
     <successExitCodes>1,0</successExitCodes> 
</exec> 

/XF和/ XD參數排除的文件和你不想上傳到生產目錄。

你可以找到更多關於robocopy here的信息。在文件del_All_Dot_SVN_Folders.cmd

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i" 
) 

保存: