Commit graph

186 commits

Author SHA1 Message Date
Andy Feller
1eeb797975
Revert "Fix: gh pr create prioritize --title and --body over --fill w…"
This reverts commit b31f38c946.
2025-07-14 17:23:09 -04:00
Daniel Krzeminski
b31f38c946
Fix: gh pr create prioritize --title and --body over --fill when --web is present (#10547)
* fix: prioritize title and body over autofill for prs

* fix: prioritize title and body over autofill tests

* refactor: collapse state conditions

---------

Co-authored-by: Babak K. Shandiz <babakks@github.com>
2025-06-24 12:54:43 +00:00
Babak K. Shandiz
59a585de9c
Mention created PR's URL will be printed upon success
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-05-13 14:53:36 +01:00
William Martin
1a5b7ca60c Feature detect v1 projects for preview URL
As far as I can see, when there is project metadata, the preview option
will never be shown in the interactive multiselect, so I don't believe
this change has any functional difference. However, I did use the
opportunity to drive out tests for generateCompareURL
2025-05-02 17:42:23 +02:00
William Martin
5a3aee056a Feature detect v1 projects on interactive pr create 2025-05-02 17:42:23 +02:00
William Martin
9822bb5d07 Feature detect v1 projects on web mode pr create 2025-05-02 15:11:04 +02:00
William Martin
e995a873cb Feature detect v1 projects on non-interactive pr create 2025-05-02 15:08:34 +02:00
William Martin
c208b1f075 Feature detect v1 projects on web mode issue create 2025-04-17 21:04:08 +02:00
William Martin
c8dd61d837 Feature detect v1 projects on non-interactive issue create 2025-04-17 17:51:38 +02:00
William Martin
a9dbda6913 Rework ref usage when finding and creating PRs 2025-04-15 13:38:10 -06:00
Kynan Ware
028caa3823 docs(pr create): clarify BaseRepo type in submitPR 2025-04-15 13:38:10 -06:00
Kynan Ware
339e1a25f3 docs(pr create): add link for user:branch syntax 2025-04-15 13:38:10 -06:00
Kynan Ware
81d00a36f8 fix(pr create): use existing local variables
Co-authored-by: Andy Feller <andyfeller@github.com>
2025-04-15 13:38:10 -06:00
Kynan Ware
15ea861b79 docs(pr create): help text, doc user:branch syntax
Document the user:branch syntax for the `--head`` flag in `gh pr create`.
2025-04-15 13:38:10 -06:00
Kynan Ware
7bb5d71f4c doc(pr create): improve head repo resolution comments
Co-authored-by: Andy Feller <andyfeller@github.com>
2025-04-15 13:38:10 -06:00
Kynan Ware
041f02c980 docs(pr create): standard <user>:<branch> syntax
Standardize <user>:<branch> syntax wherever it is described in comments.
2025-04-15 13:38:10 -06:00
Kynan Ware
e9e57f3ee3 doc(pr create): fix typo in comments
Co-authored-by: Tyler McGoffin <jtmcg@github.com>
2025-04-15 13:38:10 -06:00
Kynan Ware
d524cbddc2 docs(pr create): clarify comment on head branch syntax 2025-04-15 13:38:10 -06:00
Kynan Ware
e999976b3d refactor(pr create): add PullRequestRefs HasHead 2025-04-15 13:38:10 -06:00
Kynan Ware
54da786bec fix(pr create): update error handling 2025-04-15 13:38:10 -06:00
Kynan Ware
911079c744 docs(pr create): add comments 2025-04-15 13:38:10 -06:00
Kynan Ware
cf58910ac0 refactor(pr create): named headRefName var 2025-04-15 13:38:10 -06:00
Kynan Ware
9f1cb0cd54 refactor(pr create): simplify head remote logic 2025-04-15 13:38:10 -06:00
Kynan Ware
f50dac53cb docs(pr create): fix <repo_name>:<branch> desc. 2025-04-15 13:38:10 -06:00
Kynan Ware
c0c5d9123d refactor(pr create): use GetPRHeadLabel()
Use PrRefs.GetPRHeadLabel() instead of headBranchLabel.
Also remove headBranchLabel from CreateContext struct.

To do this, we needed a new identifier for when the head repo should be
created via a new fork of the base repo. Previously, this was done by
checking if the head repo was nil, but if we want to call
GetPRHeadLabel(), it requires a non-nil head repo to construct the
headBranchLabel. So, instead of the head repo being nil to signal
a fork, we pass a new forkHeadRepo bool in the CreateContext struct.
This also makes the decision to fork more intentional; now the decision
is made clearly instead of if the headRepo happens to be nil.
2025-04-15 13:38:10 -06:00
Kynan Ware
178fb40515 refactor(pr create): Use PrRefs in CreateContext
Replace BaseRepo, HeadRepo, HeadBranch with PrRefs in CreateContext struct.
2025-04-15 13:38:10 -06:00
Kynan Ware
c3087cde99 refactor(pr create): Refactor NewCreateContext
- Use prRefs instead of local vars more.
- Rename variables for readability.
- Improve comments.
- Refactor tests.
2025-04-15 13:38:10 -06:00
Kynan Ware
10e3949348 refactor(pr create): use prRefs.GetPRHeadLabel() 2025-04-15 13:38:10 -06:00
Kynan Ware
84a35ca381 refactor: rename IsPushEnabled for clarity 2025-04-15 13:38:10 -06:00
Kynan Ware
dc486258cb test(pr create): test --head=<remote>:<branch> 2025-04-15 13:38:10 -06:00
Kynan Ware
6db9048557 refactor: Refactor pr create
Refactor pr create by reducing flapping `isPushEnabled` between true and false.
`isPushEnabled` is now also set to `true` by default, logically aligning with the
behavior description in the help text.
2025-04-15 13:38:10 -06:00
Kynan Ware
a8d01c70cd feat: support @{push} revision syntax 2025-04-15 13:38:10 -06:00
Andy Feller
918cafc222 Deprecate ColorScheme.Gray for ColorScheme.Muted
This commit converts all of the places using ColorScheme.Gray and ColorScheme.Grayf to Muted and Mutedf.

There is a little extra tidying up with local variable names or converting code to use Mutedf format.
2025-04-06 10:18:48 -04:00
Andy Feller
af99c9d495 Suggestions to enhance upstream default handling
This commit brings this code more into alignment with other places:

1. Using a local variable for upstream remote name instead of hardcoding everywhere
2. Raising error raised by setting default remote
3. Removing condition for displaying upstream default message
4. Bring message logic more inline with other places within function
2025-02-18 16:02:50 -05:00
David Livingston
5004ba2b91 update default upstream when forking repo
update default upstream when forking repo

remove unnecessary variable
2025-02-17 11:14:16 +08:00
Tyler McGoffin
e0f624ba24 Rename PRRefs to PullRequestRefs and PR comment cleanup 2025-01-29 11:56:31 -08:00
Tyler McGoffin
4382bdf072 Fix pr create tests
Due to the refactor of BranchConfig, the tests for `pr create` no longer
require a handful of stubbed git commands.

Additionally, I noticed some overlap between `pr create`'s existing logic
with the new finder code. I suspect that the finder's new ParsePRRefs
helper could be leveraged here as well, which would allow us to respect
non-centralized workflows pr create in the same way we are respecting them
in `gh pr view` and `gh pr status`
2025-01-24 14:01:44 -08:00
Tyler McGoffin
e1423cdbbf Refine error handling of ReadBranchConfig
cmd.Output() will return an error when the git command ran successfully
but had no output. To handle this, we can check Stderr, as we expect it to
be populated for any ExitErrors or otherwise when there is a command
failure.

This allows for propagation of this error handling up the call chain, so
we are now returning errors if the call to git fails instead of just
handing off an empty BranchConfig and suppressing the errors.

Additionally, I've removed some more naked returns that I found in
pkg/cmd/pr/create.go createRun
2025-01-09 11:45:15 -08:00
Tyler McGoffin
fea46c0011 Change ReadBranchConfig error message in gh pr create 2025-01-08 11:40:42 -08:00
Tyler McGoffin
bf6fdbdfd2 Remove named returns from ReadBranchConfig and surface errors 2025-01-07 13:54:43 -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
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
Caleb Brose
9d490547b8
Alternative: remove LocalBranch from BranchConfig 2025-01-03 20:39:12 +00:00
Heath Stewart
78836097c3
Document how to set gh-merge-base
Follow-up to PR #9712
2024-12-20 10:49:38 -08:00