“git--shallow-since”的确切算法是什么?

“git--shallow-since”的确切算法是什么?,git,shallow-clone,Git,Shallow Clone,如果我打电话 git clone --shallow-since 2019-09-20 https://github.com/emacs-mirror/emacs.git 我无法访问commit 56985dd8a6,尽管它是从2019-09-21开始的。Git在以下屏幕截图中的红线处停止: 我不懂这里的算法。虽然下一次提交时间为2019-09-17,因此可以假设它在遇到第一次太旧的提交时停止,但在此之前已经有一次2019-07-10提交了。那么,的规则是什么呢?我不认为它在任何地方都有规定

如果我打电话

git clone --shallow-since 2019-09-20 https://github.com/emacs-mirror/emacs.git
我无法访问commit 56985dd8a6,尽管它是从2019-09-21开始的。Git在以下屏幕截图中的红线处停止:


我不懂这里的算法。虽然下一次提交时间为2019-09-17,因此可以假设它在遇到第一次太旧的提交时停止,但在此之前已经有一次2019-07-10提交了。那么,
的规则是什么呢?

我不认为它在任何地方都有规定。为Git获取Git存储库的一个克隆,并在源代码中找到它。但可能有人已经这样做了,并分享了他们的知识。FWIW,我不读C。