我正在查看 git 资源,发现 Check 正在做一个克隆而不是更轻量级的ls-remote
. 我认为有两个原因:
- 可以根据元数据和 repo 中更改的文件过滤提交
- 因为文档说它应该返回一系列版本,而不仅仅是最新的
第一个很明显,但我不明白第二个的原因。
它在标准输入上给出了配置的源和当前版本,并且必须按时间顺序将新版本的数组打印到标准输出,包括请求的版本(如果它仍然有效)。
但后来它说:
如果您的资源无法确定哪些版本比给定版本更新(例如,如果它是一个被推送的 git 提交),那么应该返回您的资源的当前版本(即新的 HEAD)。
所以我的问题是,为什么资源不能总是只返回一个版本——最新的。即如果源已经移动,甚至没有请求的版本? 哪些功能会丢失?