Github compare提供的结果与GraphQL输出不同

时间:2018-02-13 02:18:37

标签: github github-api github-graphql

我正在尝试比较两个存储库(一个是另一个的分支),官方方式,使用compare并返回到2017-02-11:

https://github.com/bitcoin/bitcoin/compare/master@{2017-02-11}...UnitedBitcoin:master@{2017-02-11}

返回:

There isn’t anything to compare.

但是当我使用Github GraphQL从两个存储库中检索所有提交,然后测量交集时,我得到218个共享相同sha的提交。我在查询下面用来从一个仓库中检索提交:

{
      repository(owner: "bitcoin", name: "bitcoin") {
        defaultBranchRef {
          target {
            ... on Commit {
              history(first: 100, since: "2017-02-11T00:00:00Z") {
                totalCount
                edges {
                  node {
                    committedDate
                    oid
                  }
                }
                pageInfo {
                      startCursor
                      endCursor
                      hasNextPage
                }
              }
            }
          }
        }
      }
    }   

如何解释?为什么两种结果都不同?

仅供参考:使用"测量交叉口"我的意思是我比较两个存储库中每个提交的ID(sha)。

1 个答案:

答案 0 :(得分:1)

两个分支上的日期应定义时间期间,如" Comparing commits across time"中所述。

在您的情况下,确切的错误消息是:

There isn’t anything to compare.

We couldn’t figure out how to compare these references, do they point to valid commits?

这似乎表明在2017-02-11中不存在分叉 如果你比较fork against the original repo,最老的"分叉"承诺从2017年12月开始。
在此日期,fork上没有有效的提交(即特定于fork)。

之间(因为:" 2017-02-11T00:00:00Z")和分叉的开头(2017年12月初),您可能仍然会发现268 common 提交(因为fork仅在一个月后开始)