簡體   English   中英

從subversion中刪除web.config(ASP.NET項目)

[英]Removing web.config from subversion (ASP.NET Project)

我有一個使用Subversion和VisualSVN來源控制的項目。 由於web.config的版本在服務器和開發人員的計算機上是不同的,我希望文件保留在計算機上,但Subversion會忽略它。 我把它添加到svn:ignore但它仍然存在(並且仍然有一個紅色的感嘆號,因為我們沒有提交它)。

如果沒有從文件系統中刪除它,如何安全地從Subversion中刪除它

謝謝,阿丁

你必須同時執行remove和ignore操作

  • 首先備份你的本地文件(比如@ibz說)
  • 然后從存儲庫中刪除web.config。
  • 然后將web.config復制回同一文件夾
  • 最后使用svn:ignore,以便subversion不會嘗試將其再次添加到存儲庫中

因為我使用tortoisesvn我不能真正告訴你你必須使用什么svn命令,但使用tortoisesvn它將是:

  • 做備份
  • 右鍵單擊源代碼管理下的文件夾上的web.config,選擇TortoiseSVN | 刪除
  • 右鍵單擊源代碼管理下的文件夾上的web.config,選擇SVN Commit =>之后你會發現該文件實際上是從文件系統中刪除的
  • 向上移動並右鍵單擊源代碼管理下的文件夾,選擇TortoiseSVN | 屬性
  • 在屬性窗口中單擊新建+屬性名稱“svn:ignore”; 屬性值“web.config”。 接受改變
  • 提交更改

在我的.net項目中我使用svn包含以下排除:ignore:bin,obj,* .suo,* .user

理想情況下,您還應該在SVN中維護服務器的web.config副本的版本。 我們通常將生產web.config重命名為web.config.prod(每個環境的副本),並讓構建工具選擇正確的文件,並在打包以進行部署時將其重命名為web.config。

svn rm --force web.config
svn commit

在執行此操作之前,請小心備份本地副本(web.config),因為它將被刪除。

我使用nant和ccnet解決了這個問題。 在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>

NAnt復制任務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM