从Subversion中删除web.config(ASP.NET Project)
时间:2020-03-05 18:51:19 来源:igfitidea点击:
我有一个使用Subversion和VisualSVN进行源代码控制的项目。由于服务器和开发人员计算机上的web.config版本不同,因此我希望文件保留在计算机上,但被Subversion忽略。我将其添加到svn:ignore,但它仍然存在(并且由于我们没有提交它,因此它仍然带有红色的感叹号)。
如何安全地将其从Subversion中删除,而又不从文件系统中删除它
谢谢,
阿丁
解决方案
回答
svn rm --force web.config svn commit
在执行此操作之前,请小心备份(web.config的)本地副本,因为它将被删除。
回答
我们必须同时执行删除和忽略操作
- 首先备份本地文件(如@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。
回答
我已经在ccnet中使用nant解决了这个问题。接下来的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复制任务