Skip to content

Unable to install_gitlab repos within subgroups  #259

@timtrice

Description

@timtrice

If we want to use install_gitlab we supply a repo parameter which is in username/repo[/subdir][@ref] format. This string is split by parse_repo_spec so we have a username variable (e.g., "r-lib") and repo variable (e.g., "remotes").

If my repo is within a GitLab group, then I can simply replace the username portion of the repo parameter with the name of the group.

However, if I have a subgroup holding the repo, I'm stuck. There is no params variable for subgroups.

#' Works
devtools::install_gitlab("timtrice/falsy")
#' Works
devtools::install_gitlab("timtrice_tests/falsy")
#' Fails
devtools::install_gitlab("timtrice_tests/tests/falsy")
 Error in utils::download.file(url, path, method = download_method(), quiet = quiet,  : 
  cannot open URL 'https://gitlab.com/timtrice_tests/tests/raw/master/falsy/DESCRIPTION?private_token=ABCDEFGHIJKLMNOP' 

There is no way to get the subgroup past the parse_repo_spec function. So, further functions that stick the URL back together do it incorrectly. The URL in the error above should be,

https://gitlab.com/timtrice_tests/tests/raw/master/falsy/DESCRIPTION?private_token=ABCDEFGHIJKLMNOP

For example, in remote_package_name, the src is built (using build_url) as that in the error message. But, if I change src to the last example above, while debugging, it is successful.

Another option is, instead of using the group/subgroup/repo combination, perhaps we can pass the Project ID? This doesn't seem to work in remote_pacage_name but it does in gitlab_commit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions