Github graphQL API 获取按 pushDate 排序的存储库分支

Github graphQL API get branches of a repository sorted by pushDate

我们可以使用提到的查询获取特定存储库的所有分支

query { 
    repository(owner: "<userName>", name: "<repoName>") {
    refs(first: 10, refPrefix: "refs/heads/",after:"<cursor>") {
      edges {
        node {
          name
            target {
              ... on Commit {
                author {
                  name
                  email
                  user {
                    login
                  }
                }
                pushedDate
                oid
              }
            }
        }
      }
    }
  }
}


但是是否可以按 pushedDate(或任何相关日期)的排序顺序返回名称。例如,如果我的存储库有 2 个分支(branch 1,推送日期为 March 1branch 2,推送日期为 March 10,我希望 branch2 在 [=14 之前返回=]).

我们可以手动进行排序,但问题是我的查询是分页的,所以这种排序只会对当前页面中的那些分支进行排序。

不幸的是,我认为这是不可能的。订购分店的唯一方法是 ALPHABETICAL

例如refs(first: 10, refPrefix: "refs/heads/", orderBy: {field: ALPHABETICAL, direction: DESC}

但是,假设您没有 1000 多个分支,也许您可​​以按照您的建议进行所有分页查询,然后按 pushedDate 排序。您可以通过分页 (first: 100) 一次获得 100 个节点,因此可能只需几个查询即可获得所有分支。