cli/pkg
Tyler McGoffin 41729b004d Refactor finder.Find and replace parseCurrentBranch with parsePRRefs
I've been struggling horribly to reason through all of this code, and
after much mental gymnastics I identified the culprit as the overloaded
"branch" string returned by parseCurrentBranch.

This value was either the name of the branch that the PR we're looking for
is associated with, or that name prepended with the owner's name and a :
if we're on a branch, so:

PR branch: featureBranch
branch == "featureBranch"

If on Fork belonging to "ForkOwner"
branch == "ForkOwner:featureBranch"

Since this extra information was bundled up into this single string, it
complicated the responsibilities of parseCurrentBranch's "branch" return
value. Thus, I've teased out "branch" into the new PRRefs struct:

type PRRefs struct{
	BranchName string
	HeadRepo ghrepo.Interface
	BaseRepo ghrepo.Interface
}

This allows the new parsePRRefs function to move all the previous
"branch" string's information into structured data, and allows for a new
method on PRRefs, GetPRLabel(), to create the string that "branch"
previously held to pass into its downstream consumer, namely
findForBranch.

This also allowed for better test coverage, directly connecting the PRRefs
fields to the values contained in the git config. Overall, I am now
confident that this is doing what its supposed to do with respect to my
understanding of the various central and triangular git workflows we are
addressing.
2025-01-23 15:25:28 -08:00
..
cmd Refactor finder.Find and replace parseCurrentBranch with parsePRRefs 2025-01-23 15:25:28 -08:00
cmdutil chore: fix some function names in comment 2025-01-12 15:07:04 +08:00
extensions Remove Extension.FullName() from interface 2024-12-08 20:01:26 -05:00
findsh go fmt 2021-12-02 16:12:24 +01:00
githubtemplate Add issue create --editor 2024-07-09 21:01:50 +09:00
httpmock ScopesResponder wraps StatusScopesResponder 2024-11-23 13:19:45 -07:00
iostreams Print filtered gists similar to code search 2024-10-12 23:17:56 -07:00
jsoncolor Wrap JSON arrays, objects in array with --slurp 2024-04-04 01:26:05 -07:00
jsonfieldstest Add tests for JSON field support on issue and pr view commands 2024-07-12 17:35:54 +02:00
markdown Allow user to override markdown wrap width via $GH_MDWIDTH from environment 2024-10-04 17:43:06 -07:00
option Add further docs to Option type 2024-05-10 11:05:59 +02:00
search Add json export flags to variable list command (#8516) 2024-01-17 10:09:09 -08:00
set Add GH_HOST to hosts list if it has corresponding auth token (#5087) 2022-01-29 07:37:24 +00:00
ssh Minor nit suggestion 2024-11-06 16:12:55 -05:00
surveyext Unify use of tab indent in non-test source files 2024-08-03 00:35:30 +08:00