Commit graph

4153 commits

Author SHA1 Message Date
Frederick Zhang
4254818dbd
Find push remote using branch.<name>.pushRemote and remote.pushDefault
When using a push.default = current triangular workflow, apart from
using @{push} to determine the remote branch name, we should also follow
the

1. branch.<name>.pushRemote
2. remote.pushDefault
3. branch.<name>.remote

...list to determine which remote Git pushes to.
2025-01-07 10:22:39 +11:00
Frederick Zhang
7fc35fd47d
Only find PRs w/ branch.<name>.merge if push.default = upstream/tracking
When push.default is not 'upstream' / 'tracking' (or 'nothing'), we can
expect local and remote branch names to be the same and solely rely on
@{push} or RemoteURL.

This fixes the wrong error message 'no pull requests found for branch
"<target branch>"' when the local branch is not pushed in the
push.default = simple / current and upstream = <target branch> setup.
2025-01-07 10:18:07 +11:00
Frederick Zhang
0179381efd
Find PRs using @{push}
When using a push.default = current central workflow [1], we should use
@{push} instead to locate the remote branch.

In fact, @{push} covers most cases in push.default = upstream too. The
branch.<name>.merge is probably only needed when using RemoteURL and
different remote / local branch names.

[1] https://github.com/tpope/vim-fugitive/issues/1172#issuecomment-522301607
2025-01-07 10:18:01 +11:00
Andy Feller
40984d1eb6
Merge pull request #10186 from cli/wm/clear-up-fine-grained-pats-auth-login
Clear up --with-token fine grained PAT usage
2025-01-06 15:24:37 -05:00
Tyler McGoffin
1f4e005562
Merge pull request #10158 from aryanbhosale/trunk
fix(repo fork): add non-TTY output when fork is newly created
2025-01-06 10:11:14 -08:00
Tyler McGoffin
2358fcee83
Merge pull request #10177 from cli/cmbrose/pr-create-upstream-fix
Handle missing upstream configs for `gh pr create`
2025-01-06 09:32:00 -08:00
William Martin
c3b41e87b8 Panic mustParseTrackingRef if format is incorrect 2025-01-06 10:33:28 -06:00
William Martin
8b5073d617 Move trackingRef into pr create package 2025-01-06 10:33:28 -06:00
William Martin
62ecb1c84d Make tryDetermineTrackingRef tests more respective of reality
Though it doesn't really matter, in practice upstream is always going to come before origin.
2025-01-06 10:33:28 -06:00
William Martin
57ba5e5608 Rework tryDetermineTrackingRef tests 2025-01-06 10:33:28 -06:00
William Martin
b8c167970b Avoid pointer return from determineTrackingBranch 2025-01-06 10:33:28 -06:00
William Martin
27bd4b2aec Doc determineTrackingBranch 2025-01-06 10:33:28 -06:00
William Martin
05764b8114 Don't use pointer for determineTrackingBranch branchConfig 2025-01-06 10:33:28 -06:00
William Martin
dc077dc09b Panic if tracking ref can't be reconstructed 2025-01-06 10:33:28 -06:00
William Martin
3ae4e5da20 Document and rework pr create tracking branch lookup 2025-01-06 10:33:28 -06:00
William Martin
e7d49fb78c
Update pkg/cmd/auth/login/login.go
Co-authored-by: Andy Feller <andyfeller@github.com>
2025-01-06 17:21:02 +01:00
William Martin
3695bda637 Clear up --with-token fine grained PAT usage 2025-01-06 16:41:48 +01:00
Josh Soref
dd32a9cc94 Upgrade generated workflows
Use `cli/gh-extension-precompile@v2`

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-05 23:18:28 -05:00
Aryan Bhosale
3fe6ba4e8e
Merge branch 'trunk' into trunk 2025-01-04 10:24:07 +05:30
Tyler McGoffin
2ec473ff2f
Merge pull request #10139 from ChandranshuRao14/feat/repo-edit-security-analysis
Feat: Allow setting security_and_analysis settings in gh repo edit
2025-01-03 16:22:10 -08:00
Tyler McGoffin
efec5d9250 Fixed test for stdout in non-tty use case of repo fork 2025-01-03 15:54:07 -08:00
Caleb Brose
67749480d5
Fix test 2025-01-03 20:45:20 +00:00
Caleb Brose
9d490547b8
Alternative: remove LocalBranch from BranchConfig 2025-01-03 20:39:12 +00:00
Tyler McGoffin
576fa8a3bc
Add test for permissions check for security and analysis edits (#1) 2025-01-03 01:29:45 -05:00
Aryan Bhosale
8dbbceaaaf
print repo url to stdout 2025-01-03 10:54:30 +05:30
Tyler McGoffin
d6dba93586
Merge pull request #10164 from cli/jtmcg/update-auth-PAT-info
Add mention of classic token in gh auth login docs
2025-01-02 15:29:23 -08:00
Tyler McGoffin
aa793f1dac
Update pkg/cmd/auth/login/login.go
Co-authored-by: Kynan Ware <47394200+BagToad@users.noreply.github.com>
2025-01-02 14:22:20 -08:00
Tyler McGoffin
ae9e68b803 Move mention of classic token to correct line 2025-01-02 10:41:25 -08:00
Michael Hoffman
a5cf3751cd Separate type decrarations 2025-01-02 13:14:23 -05:00
Michael Hoffman
8f00cd40af
Merge branch 'cli:trunk' into autolink-references 2025-01-02 13:11:48 -05:00
Tyler McGoffin
375dbf19da Add mention of classic token in gh auth login docs 2025-01-02 10:08:28 -08:00
nobe4
f1c3619003
Update pkg/cmd/repo/create/create.go
Co-authored-by: Kynan Ware <47394200+BagToad@users.noreply.github.com>
2025-01-02 17:11:59 +01:00
nobe4
9558d5b60b
docs(repo): make explicit which branch is used when creating a repo
This adds a line of documentation in the `gh repo create` command's help
specifying which branch for the new repo is selected.
2025-01-02 16:53:44 +01:00
Aryan Bhosale
8560c24f3f
fix(repo fork): add non-TTY output when fork is newly created 2025-01-01 11:56:18 +05:30
ChandranshuRao14
079719f923 Move api call to editRun 2024-12-31 00:47:05 -05:00
Michael Hoffman
fa254ba205 Complete get -> list renaming 2024-12-28 07:51:47 -05:00
Michael Hoffman
da826db342 Better error testing for autolink TestListRun 2024-12-27 22:58:12 -05:00
Michael Hoffman
20f086549a Decode instead of unmarshal 2024-12-27 22:03:25 -05:00
Michael Hoffman
63488a1a06 Use 'list' instead of 'get' for autolink list type and method 2024-12-27 22:02:19 -05:00
Michael Hoffman
dc6320f7f7 Remove NewAutolinkClient 2024-12-27 21:47:27 -05:00
Michael Hoffman
cc24289832 Break out autolink list json fields test 2024-12-27 21:43:47 -05:00
Michael Hoffman
67266e9cb8 PR nits 2024-12-27 21:40:52 -05:00
Michael Hoffman
e98ff2ea38 Refactor autolink subcommands into their own packages 2024-12-27 21:36:16 -05:00
Michael Hoffman
ea04d2da30 Whitespace 2024-12-27 21:36:16 -05:00
Michael Hoffman
869d25193a Refactor out early return in test code
Co-authored-by: Tyler McGoffin <jtmcg@github.com>
2024-12-27 21:36:16 -05:00
Tyler McGoffin
4a74cc8856 Add testing for AutoLinkGetter
This adds the missing mocked http tests to the http_test.go file. These
tests were previously bundled with the tests in list_test.go, creating a
testing pattern that was difficult to understand and maintain. The
refactor in the previous commit replaced these tests with the
AutolinkClient interface, allowing for the httpmocks to be isolated to the
AutolinkGetter that implements that interface.
2024-12-27 21:36:16 -05:00
Tyler McGoffin
a390ce4f10 Refactor autolink list and test to use http interface for simpler testing
This defines an AutolinkClient interface with a Get method used for
fetching the autolinks lists from the api. Then, the http client for
autolinks implements this interface with the AutolinkGetter struct.

This allows for dependency injection of the AutolinkGetter struct into the
listOptions, enabling mocking of the AutolinkGetter for testing. The
result of this is simpler tests that are easier to maintain, because the
interface for the table tests now allow for defining autolink structs as
the response instead of large mocked api calls.

This also allows for bespoke testing of the http file, which I'll follow
up with in the next commit.
2024-12-27 21:36:16 -05:00
Tyler McGoffin
5fb98524e0 Apply PR comment changes 2024-12-27 21:36:16 -05:00
Michael Hoffman
23c16c9c4c Introduce repo autolinks list commands 2024-12-27 21:36:16 -05:00
ChandranshuRao14
29371e9491 Extract logic into helper function 2024-12-26 22:52:32 -05:00