git - (libgit2) 确定 push/fetch refspec 是否需要强制
问题描述
手册页git-fetch(1)
并git-push(1)
指定了在没有推送的情况下允许推送/获取 refspec 时的复杂语义。例如,refs/heads
只接受提交但允许快进,同时refs/tags
接受任何对象但拒绝任何更新。libgit2 是否实现了任何功能来评估这一点?
我宁愿避免编写我自己的逻辑来根据 git 手册页来评估它,特别是因为它不会是未来的证明,并且构建一个影子存储库然后炮轰到 git 看看它做了什么,虽然很有趣,但很慢且易碎。
请注意,我专门询问更新 refs 的规则,而不是如何执行合并分析/确定两个提交之间是否可以进行快进。
解决方案
推荐阅读
- javascript - 通过 Javascript 或 PHP 将逗号分隔的数据从列转换为单独的行
- android - 无法在变量中设置列表行状态
- javascript - 基于作为属性值给出的对象执行函数
- php - Phpseclib 出错时执行不同的命令
- ldap - 未经同意修改 LDAP 属性案例
- node.js - 将命令行 -- 参数传递给 Yarn 中的子脚本
- mongodb - 如何在存储来自日期对象的数据时设置 mongo db 日期格式
- javafx - Oracle 的 javaFX 教程中的 FXMLLoader 问题
- java - 无法在 Eclipse Oxygen 上设置 Selenium 3
- ios - 如何在 Swift 4 中在基于字典的键名中添加数组