我有一個使用Subversion和VisualSVN進行源代碼控制的項目。由於web.config的版本在服務器和開發人員的計算機上不同,我希望該文件保留在計算機上,但Subversion會忽略它。我將它添加到svn:忽略但仍然存在(因爲我們沒有提交它,所以仍然有一個紅色的感嘆號)。從Subversion中刪除web.config(ASP.NET項目)
我怎樣才能從Subversion中刪除它安全而不會被從文件系統中刪除
感謝, 亞丁
我有一個使用Subversion和VisualSVN進行源代碼控制的項目。由於web.config的版本在服務器和開發人員的計算機上不同,我希望該文件保留在計算機上,但Subversion會忽略它。我將它添加到svn:忽略但仍然存在(因爲我們沒有提交它,所以仍然有一個紅色的感嘆號)。從Subversion中刪除web.config(ASP.NET項目)
我怎樣才能從Subversion中刪除它安全而不會被從文件系統中刪除
感謝, 亞丁
你必須做的都刪除,並忽略操作
告訴你的svn命令,你必須使用,但使用TortoiseSVN這將是:
:忽略:垃圾桶,OBJ,名爲.suo *,*。用戶
svn rm --force web.config
svn commit
小心前備份您的本地副本(web.config中的)這樣做,因爲它會被刪除。
理想情況下,你應該保持的版本SVN中web.config的服務器副本。我們通常將生產web.config重命名爲web.config.prod(每個環境的副本),並讓生成工具選擇正確的文件並在打包部署時將其重命名爲web.config。
我已經用ccnet使用nant解決了這個問題。以下nant構建腳本用本地web.config文件替換web.test.config文件;
<?xml version="1.0"?>
<project name="Project1" default="build">
<target name="init" depends="clean" />
<target name="clean" />
<target name="checkout"/>
<target name="compile"/>
<target name="deploy"/>
<target name="test"/>
<target name="inspect"/>
<target name="build" depends="init, checkout">
<call target="compile" />
<call target="inspect" />
<call target="test" />
<call target="deploy" />
</target>
<copy file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config"
tofile="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.config"
overwrite="true"
/>
<delete file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config" />
</project>
我們部署的方式是:1。 承諾SVN上開發PC 2.在服務器上執行「SVN了文件名」 – adinas 2009-06-04 18:48:23