Commit graph

11279 commits

Author SHA1 Message Date
Mislav Marohnić
85f0f3aad7 Enable repo create for GHE 2020-08-14 19:02:17 +02:00
Mislav Marohnić
a6776d0ba2 Allow more HTTP 40x codes to trigger fallback to old OAuth flow
I want to avoid falling back to the old OAuth flow for just any HTTP
4xx/5xx because other statuses should be allowed to surface a problem
with a request or the server.
2020-08-14 17:31:23 +02:00
Nate Smith
ada8039671
Merge pull request #1519 from shmokmt/update-go-version
update go version
2020-08-14 10:15:00 -05:00
Nate Smith
8a5be0fabf
Update source.md 2020-08-14 09:30:44 -05:00
Nate Smith
66da8a2431
Update CONTRIBUTING.md 2020-08-14 09:30:30 -05:00
Shoma Okamoto
bcc1b433ab bump go version to 1.15 in docs 2020-08-14 10:00:04 +09:00
Mislav Marohnić
60eebd2896 Implement OAuth Device Authorization flow
Before, we implemented the OAuth app authorization flow which requires a
callback URL. To provide such a URL, we had to spin up a local HTTP
server, which was brittle and did not cover cases where a person might
want to authenticate with a browser that runs on a different machine
than the GitHub CLI process.

This implements the OAuth Device Authorization flow where the user is
given a one-time code and asked to paste it in the browser flow. There
is no callback URL, so we can avoid spinning up a local server, and the
user may open a browser on any of their devices, as long as they provide
the correct one-time code.

If the Device Authorization flow is detected to be unavailable for the
OAuth app (right now, it's specifically enabled for GitHub CLI) or for
an older GitHub Enterprise instance, this falls back to the old app
authentication flow.
2020-08-13 19:21:08 +02:00
Nate Smith
544746e1ea
Merge pull request #1501 from cli/auth-refresh
gh auth refresh
2020-08-13 10:18:33 -05:00
Shoma Okamoto
06b579c976 update go version 2020-08-13 22:22:27 +09:00
Brandon Wilson
0d60798ca4
Gist Create - Output Filename (#1498) 2020-08-13 13:38:49 +02:00
Mislav Marohnić
26a5f118c1
Merge pull request #1516 from cli/branch-placeholder-docs
Add documentation for ":branch" placeholder
2020-08-13 13:11:07 +02:00
vilmibm
1efd3ebb51 rebase strife 2020-08-12 12:07:36 -05:00
vilmibm
2f1e9ecc7a review feedback 2020-08-12 12:06:14 -05:00
vilmibm
f7ee39dfeb bonus: logout error if GITHUB_TOKEN is set 2020-08-12 12:05:56 -05:00
vilmibm
e6ae0a122b accept additional scopes in auth flow 2020-08-12 12:05:54 -05:00
vilmibm
f1c0d04bc0 gh auth refresh 2020-08-12 12:05:27 -05:00
Mislav Marohnić
4315c09501 Ignore non-pre-authenticated hosts when parsing git remotes
This ensures that while having git remotes to point to either
`github.com` or authenticated GHE instances, adding another git remote
pointing to an unrelated host won't change the remote resolution in any
way, even if the unrelated remote is called `upstream` or `github` (and
thus normally took precedence).
2020-08-12 18:13:05 +02:00
Mislav Marohnić
c095a4bead Allow explicitly specifying the hostname for gh operations
Accept the "HOST/OWNER/REPO" syntax or passing a full URL for both the
`--repo` flag and the GH_REPO environment variable and allow setting
GH_HOST environment variable to override just the hostname for
operations that assume "github.com" by default.

Examples:

    $ gh repo clone example.org/owner/repo
    $ GH_HOST=example.org gh repo clone repo

    $ GH_HOST=example.org gh api user
    $ GH_HOST=example.org gh gist create myfile.txt

    $ gh issue list -R example.org/owner/repo
    $ gh issue list -R https://example.org/owner/repo.git
    $ GH_REPO=example.org/owner/repo gh issue list
2020-08-12 16:16:34 +02:00
Mislav Marohnić
7908c214df Avoid erroring when looking up config keys for nonexistent host 2020-08-12 15:33:26 +02:00
Mislav Marohnić
e7a8b1e94e
Add documentation for ":branch" placeholder 2020-08-12 14:54:58 +02:00
Mislav Marohnić
55a13a32b4
Merge pull request #1515 from fsmiamoto/branch-substitute
Add `:branch` placeholder for API calls
2020-08-12 14:29:54 +02:00
Francisco Miamoto
800be370de propagate error from closure 2020-08-12 09:18:43 -03:00
Francisco Miamoto
bba2d6d204 improve test cases 2020-08-12 09:09:37 -03:00
Francisco Miamoto
b83342856b use factory method for branch
Also, improve the handling for the branch placeholder
2020-08-12 09:01:17 -03:00
Francisco Miamoto
9ebcec9aaf handle a detached head 2020-08-12 08:52:39 -03:00
Francisco Miamoto
0c10f67cd5 add branch placeholder for api calls 2020-08-12 08:52:39 -03:00
Mislav Marohnić
291cdeddf2
Merge pull request #1500 from cli/issue-commands-isolate
Isolate remaining old-style commands
2020-08-12 12:35:13 +02:00
Mislav Marohnić
aa774c4993 Merge remote-tracking branch 'origin' into issue-commands-isolate 2020-08-12 12:11:01 +02:00
Nate Smith
ec2e8a86b3
Merge pull request #1495 from vilmibm/auth-status
auth status
2020-08-11 17:11:28 -05:00
vilmibm
37322ec333 less spacing 2020-08-11 16:45:35 -05:00
vilmibm
6c64cb8d23 remove vestigial return from HasMinimumScopes 2020-08-11 16:33:13 -05:00
vilmibm
36b2d3f6a7 ensure that config is not written 2020-08-11 16:24:08 -05:00
vilmibm
ba2b8d50a1 minor 2020-08-11 16:20:03 -05:00
vilmibm
cd32303404 auth status formatting 2020-08-11 16:16:59 -05:00
vilmibm
3a33735da8 be more helpful 2020-08-11 15:58:00 -05:00
vilmibm
f358e600ac use SilentError 2020-08-11 15:58:00 -05:00
vilmibm
ec25b735ab gh auth status 2020-08-11 15:58:00 -05:00
Mislav Marohnić
e12c35cc17 Add ability to pass milestone by number 2020-08-11 19:27:26 +02:00
Mislav Marohnić
20ffa49d69 Merge remote-tracking branch 'origin' into fix-milestone 2020-08-11 19:01:58 +02:00
Mislav Marohnić
9f5daeca19
Merge pull request #1475 from shihanng/issue-1456__clone-flag-help
Provide better error message for gh repo clone
2020-08-11 17:30:09 +02:00
Mislav Marohnić
00bdedb418 💅 Tweak wording 2020-08-11 17:06:36 +02:00
Mislav Marohnić
d876cf15b0 Merge remote-tracking branch 'origin' into issue-1456__clone-flag-help 2020-08-11 16:57:24 +02:00
Mislav Marohnić
a7b450b6b9
Merge pull request #1485 from cli/pr-commands-isolate-3
Isolate remaining pr commands
2020-08-11 15:40:43 +02:00
Mislav Marohnić
7e67068d61
Merge pull request #1468 from cli/pr-commands-isolate-2
Isolate pr view, merge, status commands
2020-08-11 15:40:18 +02:00
Mislav Marohnić
a6e78d74de Merge branch 'pr-commands-isolate-3' into issue-commands-isolate 2020-08-11 15:40:05 +02:00
Mislav Marohnić
fcaf912961 Merge branch 'pr-commands-isolate-2' into pr-commands-isolate-3 2020-08-11 15:30:09 +02:00
Mislav Marohnić
ce5b5cac64 Merge remote-tracking branch 'origin' into pr-commands-isolate-2 2020-08-11 15:29:04 +02:00
Mislav Marohnić
2b9de23637 Extract alias expansion into a separate package 2020-08-11 15:18:48 +02:00
Mislav Marohnić
172ea2b078 Isolate all alias commands 2020-08-11 13:57:48 +02:00
Mislav Marohnić
23337e0b07
Merge pull request #1494 from mmontes11/generalize-gql-error-parsing
Generalize REST error parsing
2020-08-10 16:30:45 +02:00