我有一个使用Subversion和VisualSVN来源控制的项目。由于web.config的版本在服务器和开发人员的计算机上是不同的,我希望文件保留在计算机上,但Subversion会忽略它。我把它添加到svn:ignore但它仍然存在(并且仍然有一个红色感叹号,因为我们没有提交它)。
如果没有从文件系统中删除
,如何安全地从Subversion中删除它谢谢, 埃丁
答案 0 :(得分:6)
你必须同时执行删除和忽略操作
因为我使用tortoisesvn我无法真正告诉你必须使用什么svn命令,但使用tortoisesvn它将是:
在我的.net项目中,我在svn中包括以下排除:ignore:bin,obj,* .suo,* .user
答案 1 :(得分:3)
理想情况下,您还应该在SVN中维护服务器的web.config副本的版本。我们通常将生产web.config重命名为web.config.prod(每个环境的副本),并让构建工具选择正确的文件,并在打包进行部署时将其重命名为web.config。
答案 2 :(得分:1)
svn rm --force web.config
svn commit
在执行此操作之前,请小心备份本地副本(web.config),因为它将被删除。
答案 3 :(得分:0)
我使用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>