fix repo override `-R | --repo`
Description
-
Ensures repo override supports HOST/GROUP/NAMESPACE/REPO.
-
Support for GROUP/NAMESPACE/REPO
First, checks if the first part matches the default instance host (i.e. gitlab.com) or the overridden default host (mostly from the GITLAB_HOST env variable).
Dots (.) are allowed in group names by GitLab. So we check if the first part contains a dot. However, it could be that the user is specifying a hostname but we can't be sure of that. So we check in the list of authenticated hosts and see if it matches any. if not, we assume it is a group name that contains a dot.
if the first part is not a valid URL and does not match an authenticated hostname then we assume it is in the format GROUP/NAMESPACE/REPO
-
Removes support for project ID
-
Use PersistentPreRunE instead of PersistentPreRun to ensure errors are printed
Related Issue Closes #589 (closed)