Mislav Marohnić
d56d92c908
If git credential helper is non-defined, set gh as credential helper
2020-11-23 20:20:05 +01:00
Sam Coe
2eb40f8a14
Empty auth token env variables are equal to being unset
2020-11-12 10:09:08 +03:00
Sam Coe
414de332fb
cleanup
2020-11-12 09:52:14 +03:00
Sam Coe
a79a0bbfd7
Add support for GH_TOKEN and GH_ENTERPRISE_TOKEN
2020-11-12 09:52:10 +03:00
Sam Coe
ce18b943b8
Export type ConfigOption and group InvalidValueError code
2020-11-03 09:49:05 +03:00
Sam Coe
5c5f52c4c4
Refactor config command
2020-11-03 09:49:05 +03:00
Sam Coe
e6be06f737
Cleanup duplicate config options
2020-11-03 09:49:05 +03:00
Mislav Marohnić
ae7d42a876
Centralize all known configuration options
2020-10-26 14:42:04 +01:00
Shrihan Kumar Padhy
f31e49fdff
Add a new config validation key called prompt ( #2246 )
2020-10-21 16:56:25 +02:00
Mislav Marohnić
14a222bade
Let the receiver choose how to format the cfg.Set() value error
2020-10-16 18:54:36 +00:00
Cristian Dominguez
09401b30b6
Validate git protocol config before setting it
2020-10-16 18:54:25 +00:00
Teubel György
9b2fe1ee30
Disable pager when set to "cat"
2020-09-29 23:21:59 +02:00
yuuji.yaginuma
177f683876
Fix typo overriden -> overridden
2020-09-18 13:59:44 +09:00
Mislav Marohnić
f6dd1bcd0a
Add the pager config option
2020-09-16 16:15:37 +02:00
Mislav Marohnić
c643778701
Have only one test assert default config rendering
2020-09-16 16:10:53 +02:00
vilmibm
1073c97409
review feedback
2020-09-11 11:36:24 -05:00
vilmibm
79b5ca2cd6
update default config test values
2020-09-10 12:13:48 -05:00
vilmibm
15bfb5447b
split auth flow code into new internal package
2020-09-10 12:13:48 -05:00
vilmibm
ecd1b34b39
Add prompt config setting and support in CanPrompt
2020-09-10 12:13:48 -05:00
Mislav Marohnić
c80292c2e8
Extend Config object with GITHUB_TOKEN support
...
Adding GITHUB_TOKEN & GITHUB_ENTERPRISE_TOKEN support orthogonal to
Config was getting out of hand, especially in `auth` commands that
adjust their messaging and error status based on the presence of these
environment variables.
The new approach builds in support for tokens from environment straight
into Config object by composition. Thus, commands need not ever be
concerned with any specific environment variables.
2020-09-07 21:33:26 +02:00
Mislav Marohnić
a8b06c329b
Ensure correct ANSI color output during OAuth flow on Windows
...
We used to write directly to `os.Stderr`, but we first need to convert
that into a colorable stream.
2020-09-01 12:31:36 +02:00
Nate Smith
e8c4b301d3
Merge pull request #1522 from cli/oauth-device-flow
...
Implement OAuth Device Authorization flow
2020-08-25 13:54:07 -05:00
Mislav Marohnić
d8c5b7bfc0
Merge pull request #1517 from cli/select-host
...
Allow explicitly setting hostname for gh operations
2020-08-14 19:08:13 +02: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
vilmibm
e6ae0a122b
accept additional scopes in auth flow
2020-08-12 12:05:54 -05:00
Mislav Marohnić
7908c214df
Avoid erroring when looking up config keys for nonexistent host
2020-08-12 15:33:26 +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ć
172ea2b078
Isolate all alias commands
2020-08-11 13:57:48 +02:00
vilmibm
2e7511cd18
add helpers to config type for hosts
2020-08-06 12:50:01 -05:00
vilmibm
35f18b6c02
gh auth login
2020-08-06 12:43:35 -05:00
Mislav Marohnić
288d01318b
Respect the hostname of current repository in queries
2020-07-23 22:31:08 +02:00
Mislav Marohnić
b30cf15094
Merge pull request #1295 from cli/path-error
...
Raise more informative path error when reading config file
2020-07-10 13:25:34 +02:00
Mislav Marohnić
569645a050
Support hosts.yml existing while config.yml does not
...
After a person copies `hosts.yml` to a headless system, they will still
be forced to go through re-authentication flow unless they copy or
initialize a `config.yml` as well. This fixes respecting authentication
info from `hosts.yml` even if `config.yml` is missing.
2020-07-01 14:34:44 +02:00
Mislav Marohnić
4827ffbf03
Raise more informative path error when reading config file
...
Example:
remove or rename regular file `/home/foo/.config/gh` (must be a directory)
2020-06-30 13:47:15 +02:00
vilmibm
64a7fd4200
test default configuration
2020-06-11 14:04:41 -05:00
vilmibm
47102fe427
just fill in the blank config with default content
2020-06-11 14:04:29 -05:00
vilmibm
cabf0b1972
populate initial config
2020-06-10 17:08:12 -05:00
vilmibm
8963d80942
better get func
2020-06-05 13:09:04 -05:00
vilmibm
6bd898ee54
start on alias delete
2020-06-05 13:04:45 -05:00
vilmibm
106a0957e1
review feedback
2020-06-05 12:24:54 -05:00
vilmibm
a05daf2145
gh alias list
2020-06-05 12:06:51 -05:00
Mislav Marohnić
9a5b628001
Ensure consistent order of yaml keys in migrateConfig
2020-06-04 12:22:26 +02:00
Mislav Marohnić
1f616859fc
Merge remote-tracking branch 'origin' into auth-split
2020-06-04 12:00:19 +02:00
Mislav Marohnić
5b872e7397
Rename fn to filename across the config package
2020-06-03 13:50:18 +02:00
Mislav Marohnić
c1a518ef8e
Un-export AuthFlow
2020-06-03 13:43:54 +02:00
vilmibm
1b844d2cc0
not needed in public interface
2020-06-02 13:50:19 -05:00
vilmibm
54183f4c6e
remove a gross type hack
2020-06-02 11:26:44 -05:00
vilmibm
52a02a7a4b
todo
2020-06-02 11:26:44 -05:00
vilmibm
37761c97fa
partial cleanup
2020-06-02 11:26:44 -05:00
vilmibm
7b4c0c57b8
WIP: handle empty aliases key
2020-06-02 11:26:44 -05:00