繁体   English   中英

svn忽略一个文件,但将其包含在结帐中

[英]svn ignore a file but include it in checkout

我在一个存储库中有一个项目。 人们很快就会开始检查,研究它,然后再做出改变。 但是该项目中有一个文件(我自己设计的精心配置文件),每个人都必须有一份副本,但是他们会对它进行更改,而这些更改永远不应该被检入(它们永远不应该被发送)通过更新回到存储库)。

所以,我希望签出项目的每个用户都能收到这个配置文件,但是我希望它在所有提交中都被忽略。

到目前为止我所读到的内容让我觉得这是不可能的。 看来,一旦我用这个配置文件导入项目,它就处于版本控制之下,除了删除它之外,再也没有办法忽略它。

我希望我只是误解了,解决方案很简单。

有人可以帮忙吗?

哦,如果可能的话,我需要一个命令行解决方案。 很多工作都是在没有ssh连接的无头linux机器上完成的。

谢谢!

编辑 :我去了cdhowie的答案。 除了按照他的建议创建模板配置文件(例如app.config.template)之外,我还使用“svn propedit svn:ignore”来在提交时忽略真正的配置文件名(例如app.config)。

通常,您执行此操作的方式是提供用户或脚本将复制到其所属位置的模板文件。 然后将忽略该文件。

例如,假设你有app.config作为配置文件。 您可以将其作为app.config.template或类似的东西提交。 用户必须复制并重命名该文件才能开始开发。 在SVN中将忽略app.config

这对于更新来说并不干净,但它是关于你能获得的最好的。 另一种选择是在存储库中设置访问限制,以便其他任何人都无法更改app.config

编辑:我说这对于更新并不干净,但是第二个想法,如果开发人员正在改变这个文件,他们可能不希望你的更新破坏他们自己的设置。 使用模板文件对开发人员来说实际上会更容易 ,因为他们可以选择要自行合并的更改。

实际上,有两种方法可以在版本化文件上“忽略”提交。 @cdhowie已经提到了“模板”解决方案。 如所描述的第二种方法使用变更表 这个职位。

svn changelist ignore-on-commit file-you-want-to-add

您可以修改项目以创建该文件的预设版本(如果该文件不存在)。

然后该文件根本不在SVN中,并且每个客户端在第一次运行代码时都会获得它。

这种可行性取决于项目的工作方式以及可执行代码的放置位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM