美好的一天,我正在控制一个包含超过 10k .sql 文件的 SVN 存储库。每当有提交时,都需要在文件中更新修订号。为了解决这个问题,我在每个现有文件上运行了这一行
svn propset svn:keywords "Id" filename.sql
这有效,并且能够看到 $Id$ 在具有 $Id$ 的文件上正确扩展
接下来要确保在新文件上设置了这个属性,我修改了我的本地 svn 配置文件以包含
enable-auto-props = yes
*.sql = svn:keywords="Id";
这也适用于我所有的初始测试,因为似乎新文件也得到了适当的扩展。但经过进一步测试,似乎一些新文件没有得到 $Id$ 扩展。这引起了问题,所以我试图缩小为什么有些没有得到扩展。为了测试,我创建了一个包含 $Id$ 的虚拟文件,并将该文件添加/提交(使用 TortoiseSVN)到几个不同的目录中,发现结果好坏参半。(No 表示 $Id$ 没有扩展,Yes 表示它扩展了)
NO: Breakfix\DB\schema\MasterMind\nonMAS\grants\testSVN.sql
YES: Breakfix\EnvSetup\testSVN.sql
YES: Breakfix\DB\schema\MasterMind\testSVN.sql
YES: Breakfix\DB\schema\MasterMind\nonMAS\testSVN.sql
NO: Breakfix\DB\schema\MasterMind\nonMAS\indexes\testSVN.sql
NO: Breakfix\DB\schema\MasterMind\nonMAS\Scripts\testSVN.sql
NO: Breakfix\DB\schema\MasterMind\nonMAS\triggers\testSVN.sql
YES: Trunk\DB\schema\MasterMind\nonMAS\grants\testSVN.sql
YES: Trunk\DB\schema\MasterMind\nonMAS\Objects\testSVN.sql
我的问题是,为什么 $Id$ 在某些目录中没有像在同一 SVN 存储库中的其他目录中那样扩展,有哪些可能的原因?
注意: svn propget 为有效的文件返回“Id”,而对于没有运行的文件,svn propget 返回“Header”。
任何意见或建议将不胜感激!
谢谢