Commit graph

520 commits

Author SHA1 Message Date
Andy Feller
24336f1344 Enhance gh repo create docs, fix random cmd link
Relates #8946

- updates the documentation within `gh repo create` to include links to lookup .gitignore templates and licenses
- fixes link markup within `gh auth setup-git` so link is formatted correctly on https://cli.github.com
2024-09-16 13:42:51 -04:00
Andy Feller
327451627c
Merge pull request #9509 from muzimuzhi/typo/repo-sync
Fix doc typo for `repo sync`
2024-08-28 09:29:24 -04:00
Tyler McGoffin
91eb34011c
Remove Internal from gh repo create prompt when owner is not an org (#9465)
* Remove `Internal` from `gh repo create` prompt when owner is not an org

Closes #9464

Internal repos only exist for organizations, so when a user selects their
personal namespace to create a repo using `gh repo create`, `Internal`
should not be an option in the `Visibility` prompt.

This should avoid the additional quirk where if the user selects
`Internal` while creating a personal repo and then proceeds to add any
of the README, .gitignore, or LICENSE files prompted for later, the repo
will not error and instead get created as a `Public` repo. This has the
potential for a user to unknowingly leak sensitive info intended to go
into a non-public repo.

* Refactor prompter with test coverage

By extracting the repo visibility options to its own function,
getRepoVisibilityOptions, we're able to directly test the behavior
introduced with this change. This breaks the testing pattern established
here thus far, but may be a good example of the direction we should
explore for a future refactor.

* Add failing tests to check for error with internal vis in non-org repos

There is a bug in the code, currently, where a user repo can attempt to be
created as with `--internal` visibility flag  when that is not an option
for non-org repos. It fails at the API level if the --gitignore,
--license, or --add-readme flags are not included, but silently falls back
to Public visibility if one of them is included.

Because this bug already existed, this commit adds the tests to ensure
that both scenarios described above are captured accurately by the test
suite. A fix for the latter scenario will be coming in a future commit

* Add Exclude to httpmock registry and implement in Test_repoCreate

Upon attempting to make the previous commit pass, I realized that it was
actually impossible to test what I wanted to. The tests in the previous
commit were behaving as expected given the bug that commit described, but
upon attempting to implement a solution I realized that the tests were
only testing the mocks and not the code functionality itself.

Essentially, when the code to fix the bug was implemented, the tests were
failing because the mocks required to test the buggy behavior were no
longer being called. To make the tests pass, I'd have to rewrite them, but
were I to remove the bug fix, the tests would no longer fail.

This pointed me to a gap in our httpmocks - the ability to intentionally
exclude api calls. The behavior I'm trying to test, here, is that we stop
executing when a certain condition is met, and therefore won't make any
subsequent api calls down the chain.

This implements the Exclude method on the registry such that it will fail
if an excluded api pattern is called. I have refactored the tests in
Test_repoCreate to use the Exclude mock for testing.

* Add error if user attempts to create repo with --internal flag

This was previously failing at either the API if no other flags were
included or falling back to creating a public repo if one of gitignore,
license, or add-readme were included.

* Add testing for error messages in gh repo create

In the previous commits, we've introduced a new error when a user tries to
create an Internal repo not owned by an organization. This adds tests to
verify that the error we are getting is, in fact, the one associated with
this use case and not some random error.
2024-08-22 10:01:16 -07:00
Yukai Chou
2374e82633 Fix doc typo for repo sync 2024-08-23 00:17:31 +08:00
Yukai Chou
c81ccab4b8
Quote repo names consistently in gh repo sync stdout (#9491)
* Quote repo names consistently in `gh repo sync` stdout

* Update tests
2024-08-21 12:20:45 -07:00
Heath Stewart
81f3526740
Fix tests 2024-08-16 10:11:52 -07:00
Yukai Chou
ac77d6750d Wrap flags with backticks, continued 2024-08-10 10:24:28 +08:00
Prabhat Kumar Sahu
ab34d868aa
Change gh repo set-default --view to print to stderr when no default exists (#9431)
Change logging of `gh repo set-default --view` to `stderr` when no default exists to better conform with expectations and unix standards.

---------

Signed-off-by: Prabhat <iprabhatdev@gmail.com>
2024-08-08 13:44:52 -07:00
Yukai Chou
d7b8ecf33d Unify use of tab indent in non-test source files
Found with
    rg '(^ | \t|\t )' -g '*.go' -g '!*_test.go'

Mixed indent exceptions:
- wrapped long list items with extra 2-space indent
- code snippets using space indent
- commented code lines having "\t*// \t+" prefix
2024-08-03 00:35:30 +08:00
Jesse Houwing
e0c03fc603
Remove redundant whitespace 2024-07-18 10:20:44 +02:00
Jesse Houwing
3b2ba9e1fa
docs: Update documentation for gh repo create to clarify owner 2024-07-12 13:20:43 +02:00
William Martin
07e0ff7127 Fix repo fork to use remote protocol if none configured 2024-05-10 10:48:36 +02:00
William Martin
1d38230675
Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
William Martin
825beef723 Document repo clone protocol behaviour 2024-04-30 08:22:49 +02:00
Babak K. Shandiz
7d432bcd3a
Support long URLs in gh repo clone (#9008)
Signed-off-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
2024-04-29 14:42:18 +02:00
satoqz
176420907b
fix segfault in gh repo rename 2024-03-29 14:38:27 +01:00
William Martin
81be2b67ee Remove mainLoop label from garden 2024-02-17 13:45:39 +01:00
Zack Sloane
f70bcba779 switch to [] characters for default info in usage strings 2024-02-01 21:35:31 +00:00
Zack Sloane
3339e62666
Merge branch 'cli:trunk' into trunk 2024-01-24 12:42:25 -05:00
Victor Lee
b8c4ea1e7c
added URL for newly created repo (#8574) 2024-01-19 12:16:15 +01:00
Zack Sloane
b6dadfa7fb test update, more consistent default value display 2024-01-08 23:23:24 -05:00
William Martin
15ba536317 Ensure subtests use the right t during setup 2023-12-06 14:06:28 +01:00
William Martin
dc0f6d55e2 Use real config in fork cmd tests 2023-12-06 14:06:28 +01:00
Yukai Chou
21e9ba3345 fixup! Use "GitHub Actions" as a whole 2023-11-23 07:29:04 +08:00
Yukai Chou
061ec2f51b s/default branch/main branch/g 2023-11-23 07:21:16 +08:00
Yukai Chou
1ac1609bb7 Use "GitHub Actions" as a whole 2023-11-23 07:20:11 +08:00
Yukai Chou
ba585149c3 Leftovers 2023-11-23 07:12:47 +08:00
Yukai Chou
07a87ca8a4 Wrap special values and placeholders like - and $1 2023-11-23 07:09:29 +08:00
Yukai Chou
3285359271 Merge branch 'trunk' into docs/unify-markup 2023-11-23 04:01:45 +08:00
EBIBO
14a8e03bc3
gh repo sync should be able to sync a local branch with an upstream remote (#8229) 2023-11-20 10:37:59 +00:00
Yukai Chou
17d336e005 Wrap cli flags in backticks uniformly 2023-11-16 22:54:27 +08:00
Sam Coe
7924878315
Fix git protocol and refactor Config interface (#8246) 2023-10-27 15:42:05 +02:00
Sam Coe
5023b61909
Remove uses of FuzzyAgoAbbr in tables (#8222) 2023-10-22 17:33:49 +02:00
Heath Stewart
7738b6187c
Add headers to all tables (#8157) 2023-10-20 11:20:02 +02:00
William Martin
6dc04bb1e2 Remove GetOrDefault uses in favour of GitProtocol 2023-10-19 12:57:19 +02:00
Arun Sathiya
9b037ffac1
update(repo create): Support for --homepage flag for template-based repository creation flow (#8188) 2023-10-17 09:01:32 +02:00
Jun Nishimura
7d6fba0d7d
Create repositories from templates in interactive mode (#7769) 2023-10-12 17:53:05 +02:00
Keith Bailey
363dacbbed
Set default repository for repo clone and repo fork (#7768) 2023-10-11 13:41:00 +00:00
Yuto
885ccd7424
Disable issue with template (#7918)
* allow --disable-issues option with --template

* add a test case for creating repo with --disable-issues --template
2023-10-11 10:35:40 +02:00
rajhawaldar
79296c0a62
Use camelCase for fields
Signed-off-by: rajhawaldar <rajhawaldar.in@gmail.com>
2023-09-29 13:02:59 +05:30
rajhawaldar
965eabd503
Support standard output format flags for secret and deploy-key list
Signed-off-by: rajhawaldar <rajhawaldar.in@gmail.com>
2023-09-25 21:35:47 +05:30
Nick Alteen
7e7391bf88
Clarify list repo behavior (#7964)
Co-authored-by: William Martin <williammartin@github.com>
2023-09-11 17:28:14 +02:00
Yuto
f8bf602ecd
Allow --disable-wiki flag with --template flag in repo create command (#7886) 2023-08-29 22:52:57 +00:00
Shion Ichikawa
a5400effd8
🐛 (repo create)execute clone when readme option is enabled (#7837)
* 🐛 (repo create)execute clone when readme option is enabled

*  (repo/create)noninteractive clone with readme

* 🔥 (repo/create)remove printing statement
2023-08-28 14:09:02 +00:00
Sam Coe
6f618b522c
Properly rename remote for GHES hosts (#7890) 2023-08-25 10:01:26 -07:00
Nate Smith
a51aba0d22
Merge pull request #7850 from cli/noch-prompts
update more prompts
2023-08-17 17:38:17 -05:00
Nate Smith
2ddfc3827d use new prompter in repo fork 2023-08-16 16:02:14 -05:00
Sam Coe
4a57a812f5
Upgrade to Go 1.21 (#7843) 2023-08-16 10:37:58 -07:00
Nate Smith
f5477d931b pass prompter around instead of opts 2023-08-10 17:34:17 -07:00
Nate Smith
480505511c test for forking in org 2023-08-08 17:53:21 -07:00