我通过 Gitolite 管理了一个 Git 存储库,它有大约 40 个开发人员和 35,0000 个文件。我们刚刚从 CVS 转换,所以很多人都在努力适应这些差异。
一旦出现此类问题,我们的用户就会使用 Eclipse 和 EGit 进行工作。在 CVS 中,所有的合并都是通过 Team Sync 进行的,而冲突是通过 3-way diff 工具解决的。在 EGit 中,合并冲突是用标记装饰的,开发人员可能会忘记这些标记或假设它们以某种方式被删除。并非所有这些问题都会显示为编译错误,因为冲突可能在批处理文件或配置文件中。
更多使用这些工具的经验可能会解决大多数这些问题,但我想在 Gitolite 中添加一个钩子,它检查任何推送的 .java、.bat、.xml 或 .properties 文件中是否有任何以完全开头 或<<<<<<<
后跟任何其他行的行字符并向用户添加警告消息,突出显示问题及其所在的文件。=======
>>>>>>>
这样我希望他们能发现错误,立即纠正并从错误中吸取教训。另一种方法可能会浪费数小时,想知道为什么某些代码无法正常运行。
我认为正则表达式很容易,例如^>>>>>>>[^>]
. 所以更重要的是 Gitolite 是否允许这样做以及测试和生成这样的脚本所需的努力?有人有我可以改编的示例脚本吗?
我暂时只会警告用户,但我想稍后切换并彻底拒绝提交。