# Functions
NewStatsTracker initializes a tracker struct that is capable of keeping tabs on which repos were handled and how.
TrackEventIfMissing prevents the addition of duplicates to the tracking slices.
# Constants
BaseBranchTargetInvalidErr denotes a repo that does not have the base branch specified by the user.
BranchCheckoutFailed denotes a failure to checkout a new tool specific branch in the given repo.
BranchRemoteDidntExistYet denotes a repo whose specified branch didn't exist remotely yet and so was just created locally to begin with.
BranchRemotePullFailed denotes a repo whose remote branch could not be fetched successfully.
CommandErrorOccurredDuringExecution denotes a repo for which the supplied command failed to be executed.
CommitChangesFailed denotes an error git committing our file changes to the local repo.
CommitsMadeDirectlyToBranch denotes a repo whose local worktree changes were committed directly to the specified branch because the --skip-pull-requests flag was passed.
DirectCommitsPushedToRemoteBranch denotes a repo whose changes were pushed to the remote specified branch because the --skip-pull-requests flag was passed.
DryRunSet denotes a repo will not have any file changes, branches made or PRs opened because the dry-run flag was set to true.
FetchedViaGithubAPI denotes a repo was successfully listed by calling the GitHub API.
GetHeadRefFailed denotes a repo for which the HEAD git reference could not be obtained.
PRFailedAfterMaximumRetriesErr denotes a repo whose pull requests all failed to be created via GitHub following the maximum number of retries.
PRFailedDueToRateLimits denotes a repo whose initial pull request failed as a result of being rate limited by GitHub.
PullRequestAlreadyExists denotes a repo where the pull request already exists for the requested branch, so we didn't open a new one.
PullRequestOpenErr denotes a repo whose pull request containing config changes could not be made successfully.
PushBranchFailed denotes a repo whose new tool-specific branch could not be pushed to remote origin.
PushBranchSkipped denotes a repo whose local branch was not pushed due to the --dry-run flag being set.
RepoDoesntSupportDraftPullRequestsErr denotes a repo that is incompatible with the submitted pull request configuration.
RepoFailedToClone denotes that for whatever reason we were unable to clone the repo to the local system.
RepoFlagSuppliedRepoMalformed denotes a repo passed via the --repo flag that was malformed (perhaps missing it's Github org prefix) and therefore unprocessable.
RepoNotExists denotes a repo + org combo that was supplied via file but could not be successfully looked up via the GitHub API (returned a 404).
ReposArchivedSkipped denotes all the repositories that were skipped from the list of repos to clone because the skip-archived-repos was set to true.
ReposSelected denotes all the repositories that were targeted for processing by this tool AFTER filtering was applied to determine valid repos.
RepoSuccessfullyCloned denotes a repo that was cloned to the local filesystem of the operator's machine.
RequestReviewersErr denotes a repo whose follow up request to add reviewers to the opened pull request failed.
TargetBranchAlreadyExists denotes the special branch used by this tool was already found (so it was likely already created by a previous run).
TargetBranchLookupErr denotes an issue performing the lookup via GitHub API for the target branch - an API call failure.
TargetBranchNotFound denotes the special branch used by this tool to make changes on was not found on lookup, suggesting it should be created.
TargetBranchSuccessfullyCreated denotes a repo for which the target branch was created via GitHub API call.
WorktreeAddFileFailed denotes a failure to add at least one file to the git stage following command execution.
WorktreeStatusCheckFailed denotes a repo whose git status command failed post command execution.
WorktreeStatusCheckFailedCommand denotes a repo whose git status command failed following command execution.
WorktreeStatusClean denotes a repo that did not have any local file changes following command execution.
WorktreeStatusDirty denotes repos that had local file changes following execution of all their targeted.