首页 > 解决方案 > (libgit2) 确定 push/fetch refspec 是否需要强制

问题描述

手册页git-fetch(1)git-push(1)指定了在没有推送的情况下允许推送/获取 refspec 时的复杂语义。例如,refs/heads只接受提交但允许快进,同时refs/tags接受任何对象但拒绝任何更新。libgit2 是否实现了任何功能来评估这一点?

我宁愿避免编写我自己的逻辑来根据 git 手册页来评估它,特别是因为它不会是未来的证明,并且构建一个影子存储库然后炮轰到 git 看看它做了什么,虽然很有趣,但很慢且易碎。

请注意,我专门询问更新 refs 的规则,而不是如何执行合并分析/确定两个提交之间是否可以进行快进。

标签: gitlibgit2

解决方案


推荐阅读