代码之家  ›  专栏  ›  技术社区  ›  adinas

从subversion(ASP.NET项目)中删除web.config

  •  4
  • adinas  · 技术社区  · 16 年前

    如何安全地将其从Subversion中删除,而不将其从文件系统中删除

    谢谢 阿丁

    4 回复  |  直到 16 年前
        1
  •  6
  •   Vitor Silva    16 年前

    您必须同时执行删除和忽略操作

    • 首先备份本地文件(如@ibz said)
    • 然后从存储库中删除web.config。
    • 然后将web.config复制回同一文件夹
    • 最后使用svn:ignore,这样subversion就不会再次尝试将其添加到存储库中

    由于我使用的是OrtoiseSVN,所以我无法真正告诉您必须使用哪些svn命令,但使用OrtoiseSVN将是:

    • 右键单击源代码管理文件夹中的web.config,选择Ortoisesvn | Delete
    • 右键单击源代码管理下文件夹中的web.config,选择SVN Commit=>在此之后,您将注意到该文件实际上已从文件系统中删除
    • 上移并右键单击源代码管理下的文件夹,选择OrtoiseSVN |属性
    • 在属性窗口中,单击新建+属性名称“svn:忽略”;属性值“web.config”。接受更改
    • 提交更改

    在我的.net项目中,我将以下排除在svn之外:ignore:bin、obj、*.suo、*.user

        2
  •  3
  •   Chetan S    16 年前

    理想情况下,您也应该在SVN中维护服务器的web.config副本的版本。我们通常将生产web.config重命名为web.config.prod(每个环境都有一个副本),并让构建工具在打包部署时选择正确的文件并将其重命名回web.config。

        3
  •  1
  •   ibz    16 年前
    svn rm --force web.config
    svn commit
    

        4
  •  0
  •   Gökhan Ercan    14 年前

    我已经用nant和ccnet解决了这个问题。以下nant构建脚本将web.test.config文件替换为本地web.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 Copy Task