繁体   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