我目前使用Subversion來管理我的ASP.NET網站。我發現,無論何時我將我的網站上傳到我的服務器,我都會複製大量隱藏的.svn文件夾以及其中可能存在的任何內容。xcopy Subversion託管項目的ASP.NET部署
有沒有人有任何建議來避免這種情況?我並不特別需要生產服務器上隱藏的.svn文件夾,但在上傳我的網站之前手動刪除每個.svn文件夾的工作量很少,我不知道如何擁有.svn-folder-free生產環境。
編輯:謝謝大家,這些都是偉大的建議,我真的很感激它!
我目前使用Subversion來管理我的ASP.NET網站。我發現,無論何時我將我的網站上傳到我的服務器,我都會複製大量隱藏的.svn文件夾以及其中可能存在的任何內容。xcopy Subversion託管項目的ASP.NET部署
有沒有人有任何建議來避免這種情況?我並不特別需要生產服務器上隱藏的.svn文件夾,但在上傳我的網站之前手動刪除每個.svn文件夾的工作量很少,我不知道如何擁有.svn-folder-free生產環境。
編輯:謝謝大家,這些都是偉大的建議,我真的很感激它!
你如何在服務器上運行Subversion,然後從存儲庫執行svn導出? svn導出就像結賬一樣,但沒有.svn文件夾(並且無法在該目錄中執行Subversion)。
或者,在本地計算機上執行svn導出回購,然後通過FTP導出導出版本。
兩個建議:
我有一個postbuild一步,它準備一個乾淨的投遞文件夾作爲項目的一部分。以下是我的做法:
<PropertyGroup>
<DropPath>..\..\drop\</DropPath>
<TestDropPath>..\..\test\</TestDropPath>
</PropertyGroup>
<Target Name="AfterBuild">
<ItemGroup>
<Binaries Include="$(OutputPath)**\*.*" />
</ItemGroup>
<ConvertToAbsolutePath Paths="$(DropPath)">
<Output TaskParameter="AbsolutePaths" ItemName="FullDropPath" />
</ConvertToAbsolutePath>
<Message Importance="High" Text="Binplacing -> @(FullDropPath)" />
<Copy SourceFiles="@(Compile)" DestinationFiles="@(Compile->'$(DropPath)%(Identity)')" />
<Copy SourceFiles="@(Content)" DestinationFiles="@(Content->'$(DropPath)%(Identity)')" />
<Copy SourceFiles="@(EntityDeploy)" DestinationFiles="@(EntityDeploy->'$(DropPath)%(Identity)')" />
<Copy SourceFiles="@(Binaries)" DestinationFiles="@(Binaries->'$(DropPath)%(Identity)')" />
</Target>
當然,svn export
也適用。 :-)但是,使用這種方法,您無法修改並向構建期間修改的任何源文件提交回存儲庫。
右鍵單擊您的項目文件夾,並遞歸刪除所有.svn文件夾。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
這是一個很酷的reg黑客! – craigb 2008-10-22 04:07:13