![]() |
1
5
我建议两件事:
|
![]() |
2
3
根据您的版本控制系统,可以将此问题自动化。Subversion和Mercurial支持钩子——由某些事件触发的脚本,如签出、更新或提交。我们编写了一个在提交时触发的相当简单的脚本:它查看提交包中是否有.vbp,如果有,则运行一个“正常化”例程,
文件的其余部分是单独留下的,因为它只是前三个部分,vb似乎很乐意弄乱。 因此,大多数情况下,当您提交并且没有对.vbp进行任何实质性更改时,hook脚本会将.vbp文件还原为规范的、有序的状态(如revert),这会影响从提交中删除它,因为它不再被更改。 如果确实向项目添加了新文件或引用,则vbp行的一致字母排序意味着可以避免合并冲突,因为vc合并算法可以轻松、正确地检测更改。 我们用JavaScript编写脚本并使用Windows脚本宿主执行它,因为至少对于Windows框来说,这消除了对perl/python等解释器的依赖。 将这个脚本连接到新的VB项目是一项30秒的工作。与其他手动方法相比,优势在于您没有任何自觉的努力来处理vbp文件。只需将它与其他一切一起提交,脚本就可以处理其余的部分。 |