我们的VB6人是最后一次RIF(减少力量)的一部分。他所做的工作在我和另一位开发人员之间分道扬..我们经常都在同时对项目进行更改。这不是CVS的问题,因为我们在不同的领域工作。但是,VB6似乎修改了Reference部分,并在每次触摸项目时更改路径。由于我们没有为源树提供完全相同的路径设置,因此我们始终在vbp文件上遇到合并冲突。
除了改变我们设置的明显方法之外,还有什么方法可以解决这个问题吗?
答案 0 :(得分:5)
我建议两件事:
答案 1 :(得分:3)
根据您的版本控制系统,可以自动解决此问题。 Subversion和Mercurial都支持钩子 - 由某些事件触发的脚本,例如签出,更新或提交。我们编写了一个在提交时触发的相当简单的脚本:它查看提交包中是否有.vbp,如果有,则运行“规范化”例程
文件的其余部分是独立的,因为它只是VB看起来令人高兴的前三个部分。
因此,大多数情况下,当您提交并且未对.vbp进行任何实质性更改时,钩子脚本会将.vbp文件还原为规范的,有序的状态(如恢复),其中包含从提交中删除它的效果,因为它不再被更改。
如果您确实为项目添加了新文件或引用,VBP行的字母顺序排序意味着避免了合并冲突,因为您的VC合并算法可以轻松,正确地检测到更改。
我们在Javascript中编写脚本并使用Windows Script Host执行它,因为至少对于Windows框,这会消除对Perl / Python等解释器的依赖。
将此脚本连接到新的VB项目是一个30秒的工作。与其他手动方法相比,优势在于您无需有意识地处理VBP文件。只需将其与其他所有内容一起提交,脚本就可以完成剩下的工作。