-
-
Save jonathansick/8bbe88a85addaeeea4e7fe9ef15b016b to your computer and use it in GitHub Desktop.
{ | |
repository(name: "sickvim", owner: "jonathansick") { | |
ref(qualifiedName: "master") { | |
target { | |
... on Commit { | |
id | |
history(first: 5) { | |
pageInfo { | |
hasNextPage | |
} | |
edges { | |
node { | |
messageHeadline | |
oid | |
message | |
author { | |
name | |
date | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} |
Can we use the above code to get the details of first 2 commits before a certain commit ( hash 7e6c355e1c250036c9ba0d76133b5068b2444f3d
) that exists in the repository. Here is my code.
query {
repository(owner:"wso2",name:"product-is"){
object(expression:"master"){
... on Commit {
history(first:2,before:"7e6c355e1c250036c9ba0d76133b5068b2444f3d"){
edges{
node{
id
blame(path:"pom.xml"){
ranges{
startingLine
endingLine
commit{
author {
email
name
}
}
}
}
}
}
}
}
}
}
}
but it gives me this error
"errors": [
{
"message": "backwards pagination unsupported for CommitHistoryConnection",
"type": "INVALID_CURSOR_ARGUMENTS",
"locations": [
{
"line": 11,
"column": 9
}
],
"path": [
"repository",
"object",
"history",
"edges"
]
}
]
What I am doing wrong
@jonathansick This query works great for me, I'm just not sure why. Based on SQL type experience, what I want to do is a "join" between Repo and Commit fields and I don't understand how that maps onto graphQL's fragments or why the ref -> target is necessary. Any clarification would be mightily appreciated.
@kasunsiyambalapitiya before
needs to be a cursor. Generally, I think, first
is used with after
and last
is used with before
.
This was the first Google result my search, can you update the code to use defaultBranchRef
instead of ref(…)
?
This was the first Google result my search, can you update the code to use
defaultBranchRef
instead ofref(…)
?
If you do, please at least comment with the original version (or maybe make another file in the gist?) because this query is also useful to figure out how to get history from a certain point (be that tag or commit oid).
I let this here maybe it helps somebody else to get commits for defaultBranchRef:
{
repository(owner: "sulu", name: "sulu") {
defaultBranchRef {
name
target {
... on Commit {
history {
totalCount
}
}
}
}
stargazers {
totalCount
}
releases {
totalCount
}
}
}
can we use graphQL to get details about a given commit hash, (just like in commit REST API)