其他开发人员之一将预构建事件添加到 Visual Studio 中的 Silverlight 和服务器项目。它没有影响任何其他开发人员,只是我。出于某种原因,如果不删除预构建事件,我就无法构建和运行我们的应用程序。
看起来修改预构建事件只会更改受版本控制 (svn) 的 .csproj 文件。在进行 svn 提交或更好的解决方案时,我是否可以忽略此文件?
我已经查看了 svn delete --keep-local 和编辑 svn:ignore 但似乎这对于其他开发人员也基本上会取消它。
其他开发人员之一将预构建事件添加到 Visual Studio 中的 Silverlight 和服务器项目。它没有影响任何其他开发人员,只是我。出于某种原因,如果不删除预构建事件,我就无法构建和运行我们的应用程序。
看起来修改预构建事件只会更改受版本控制 (svn) 的 .csproj 文件。在进行 svn 提交或更好的解决方案时,我是否可以忽略此文件?
我已经查看了 svn delete --keep-local 和编辑 svn:ignore 但似乎这对于其他开发人员也基本上会取消它。
在Tortoise SVN客户端中,有一个 'ignore-on-commit' 更改列表 -默认情况下, Tortoise不会提交该更改列表上的文件(这里有关于更改列表的更多信息)。因此,一种选择是使用 Tortoise SVN 并将您想要在提交时忽略的文件添加到更改列表。
另一种选择是编写您自己的自定义提交脚本,该脚本将运行svn status
,过滤掉“ignore-on-commit”更改列表中的文件,然后提交其余的。这是伪代码:
svn status --changelist "ignore-on-commit" > ignored.tmp
for every line in ignored.tmp:
file = parse_file_name from line
cp file file.bak
svn revert file
svn ci [other options passed to the script]
for every line in ignored.tmp:
file = parse_file_name from line
mv file.bak file
rm ignored.tmp
不幸的是,标准的命令行 SVN 客户端仍然缺少一个非常有用的功能来指定您希望在除更改列表之外的所有内容上运行您的命令。