我有一个使用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