自给定提交哈希以来,我正尝试获取给定git存储库的所有提交,但是我找不到执行此操作的GraphQL方法。我想要的基本上与
相同git log --pretty=format:%H <hash>..HEAD
我尝试了一些事情,包括:
{
repository(owner: "vespa-engine", name: "vespa") {
object(expression: "master") {
... on Commit {
history(until: "2020-05-12T12:00:00Z") {
nodes {
oid
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
}
}
但是似乎before
中的until
和history
被忽略了。在V3中,可以使用compare API做到这一点:
$ hashes=$(git log --pretty=format:%H a5e31d496d4cb1594cbf55d8d268b8b7a5e0b2c3..HEAD); head -n3 <<< $hashes; echo "..."; tail -n3 <<< $hashes
b43e8090a860bf92b07153a2fd01d95f7fa2e548
feb582188627adb3a2e3ede8c61b3e15cabd1d82
6007048884ea5c222c0ad88862f7cc12992ac336
...
cf185bd2401f435f6d2ff67708f6dd80b0e37b46
009dccdef0dfe4fdf9fd17d5e938fc2877bb537f
503880f98dae838c24fbb6869840108b73684952
$ hashes=$(curl -s https://api.github.com/repos/vespa-engine/vespa/compare/a5e31d496d4cb1594cbf55d8d268b8b7a5e0b2c3...HEAD | jq -r '.commits[] | .sha' | tac); head -n3 <<< $hashes; echo "..."; tail -n3 <<< $hashes
b43e8090a860bf92b07153a2fd01d95f7fa2e548
feb582188627adb3a2e3ede8c61b3e15cabd1d82
6007048884ea5c222c0ad88862f7cc12992ac336
...
cf185bd2401f435f6d2ff67708f6dd80b0e37b46
009dccdef0dfe4fdf9fd17d5e938fc2877bb537f
503880f98dae838c24fbb6869840108b73684952
但是:
Link
header未包含在上述响应中。