有没有办法让TortoiseSVN暂时忽略版本化文件?

Wil*_*ill 2 svn tortoisesvn svnignore

我们有一些配置文件,我们希望在版本控制中指定项目的默认设置:搜索路径,条件定义等.不幸的是,IDE(Delphi 5)也使用这些文件来保存临时信息.IDE在开发过程中不断更新文件,导致Tortoise始终将工作目录标记为已修改,即使可能发生的所有事情都是项目的构建.有时我们确实希望对这些文件进行更改,例如,如果项目搜索路径依赖性发生变化,但绝大多数时候它们只是噪声源.

我的第一个想法是检查文件,在TortoiseSVN中应用全局忽略模式以忽略有问题的文件类型,并在我对要登记的代码进行真正更改时删除全局忽略.然而,似乎如果文件的某个版本已经存储在存储库中,Tortoise将不会忽略它.

有没有办法可以设置它以便
1)文件在结账时被拉入
2)有一些方法可以忽略对这些文件的更改
3)有一种方法可以检查文件的重大更改,如果需要的话

Mic*_*ens 11

从版本1.5开始,TortoiseSVN支持更改列表,允许您在提交对话框中将文件组合在一起.TortoiseSVN的提供一个特殊的变化列表,称为忽略上提交,即"用于标记,你几乎从来没有要提交,即使他们有本地修改版本的文件." 有关更多信息,请参阅提交列表中的排除项目.

要使用ignore-on-commit功能,请在Check for ModificationsCommit对话框中选择一个或多个文件,然后在上下文菜单中选择change lists >> ignore-on-commit.其结果是,这些文件现在组合在一起,当您打开Commit忽略上提交组对话框文件默认选中,而所有其他文件都检查.请注意,一旦您在更改列表中签入文件,它们就会从该更改列表中删除; TortoiseSVN假设不再需要团体成员资格.但是,在这种情况下,由于您没有ignore-on-commit组中检入项目,我相信这个组将无限期地持续存在.

(我在提出这个问题后3年多开始写这个答案,意图说现在有一个简单的方法可以做到这一点.但我无法抗拒先做一些检查.事实证明我刚才提供的答案是可用的截至2008年6月正式发布的TortoiseSVN 1.5 - 因此,当问到这个问题时,我的答案也适用.)


Ben*_*mes 10

允许对版本控制的配置文件进行本地修改的一般解决方案不是将配置文件本身保持在版本控制之下,而是将其模板版本保存,例如.template附加到文件名.

开发人员第一次签出项目时,他们会复制此文件,从副本的文件名中删除.template.然后,他们将副本(非模板)添加到忽略列表中,以确保不会意外添加或提交.

必须对模板进行对需要进入版本控制的配置所做的任何更改.每次开发人员更新并在模板中找到更改时,他们都必须再次遵循复制/重命名过程.但希望这不会经常发生.