-
Notifications
You must be signed in to change notification settings - Fork 8k
Description
Describe the bug
This worked around 2.21 but has been broken since at least 2.22: running gh repo create {name} --template {template} --clone fails with error,
fatal: couldn't find remote ref refs/heads/main
failed to run git: exit status 128
It does create the repo from the template correctly and a local directory for the clone is created with a .git directory, but no content is checked out. If I go into the fetched repo and run, say, git pull --ff-only, no tracking branch is set.
This does not repro if you don't specify a --template e.g., gh repo create {name} --clone.
Steps to reproduce the behavior
- Type this:
gh repo create example --template heaths/template-rustlang --clone --public - See error
Expected vs actual behavior
The repo should be created, cloned, and working directory checked out. This worked up until, IIRC, 2.21.
Logs
The following from setting GH_DEBUG="api" is abbreviated to show what seems relevant parts. There's some look-ups at the beginning that don't seem relevant, but can easily be reproduced:
* Request took 139.4075ms
* Request at 2023-02-27 16:07:38.9301338 -0800 PST m=+0.508462901
* Request to https://api.github.com/graphql
> POST /graphql HTTP/1.1
> Host: api.github.com
> Accept: application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview
> Authorization: token XXXXXXXXXXXXXXXXXXXXXXXX
> Content-Length: 503
> Content-Type: application/json; charset=utf-8
> Graphql-Features: merge_queue
> Time-Zone: America/Los_Angeles
> User-Agent: GitHub CLI 2.23.0
GraphQL query:
mutation CloneTemplateRepository($input: CloneTemplateRepositoryInput!) {
cloneTemplateRepository(input: $input) {
repository {
id
name
owner { login }
url
}
}
}
GraphQL variables: {"input":{"name":"autorest-diff4","visibility":"PUBLIC","description":"Compares OpenAPI specifications from different AutoRest tags","ownerId":"MDQ6VXNlcjE1MzI0ODY=","repositoryId":"R_kgDOIZk6lg","includeAllBranches":false}}
< HTTP/2.0 200 OK
< Access-Control-Allow-Origin: *
< Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
< Content-Security-Policy: default-src 'none'
< Content-Type: application/json; charset=utf-8
< Date: Tue, 28 Feb 2023 00:07:40 GMT
< Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
< Server: GitHub.com
< Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
< Vary: Accept-Encoding, Accept, X-Requested-With
< X-Accepted-Oauth-Scopes: repo
< X-Content-Type-Options: nosniff
< X-Frame-Options: deny
< X-Github-Media-Type: github.merge-info-preview; param=nebula-preview; format=json
< X-Github-Request-Id: CF7D:6F8D:B91DDC5:BEB30AC:63FD45CA
< X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
< X-Oauth-Scopes: delete_repo, gist, project, read:org, read:packages, read:user, repo, workflow
< X-Ratelimit-Limit: 5000
< X-Ratelimit-Remaining: 4987
< X-Ratelimit-Reset: 1677545896
< X-Ratelimit-Resource: graphql
< X-Ratelimit-Used: 13
< X-Xss-Protection: 0
{
"data": {
"cloneTemplateRepository": {
"repository": {
"id": "R_kgDOJDSPuQ",
"name": "autorest-diff4",
"owner": {
"login": "heaths"
},
"url": "https://github.com/heaths/autorest-diff4"
}
}
},
"extensions": {
"warnings": [
{
"type": "DEPRECATION",
"message": "The id MDQ6VXNlcjE1MzI0ODY= is deprecated. Update your cache to use the next_global_id from the data payload.",
"data": {
"legacy_global_id": "MDQ6VXNlcjE1MzI0ODY=",
"next_global_id": "U_kgDOABdiRg"
},
"link": "https://docs.github.com"
}
]
}
}
* Request took 1.7720767s
[git.exe init autorest-diff4]
[git.exe -C autorest-diff4 remote add origin https://github.com/heaths/autorest-diff4.git]
[git.exe -C autorest-diff4 -c credential.helper= -c credential.helper=!"C:\\Program Files\\GitHub CLI\\gh.exe" auth git-credential fetch origin +refs/heads/main:refs/remotes/origin/main]
fatal: couldn't find remote ref refs/heads/main
failed to run git: exit status 128
Error: failed to create repository autorest-diff4: failed to run gh: * Request at 2023-02-27 16:07:38.5218054 -0800 PST m=+0.100134501