Как использовать `remotes::install_gitlab` для установки из ветки?

Я хотел установить interpпакет из ветки "spline" в репозитории Gitlab по адресу https://gitlab.aau.at/agebhard/interp . Когда я выбираю эту ветку на веб-странице, URL-адрес меняется на https://gitlab.aau.at/agebhard/interp/-/tree/spline . Однако использование этого URL-адреса очевидным образом приводит к ошибке:

      remotes::install_gitlab("agebhard/interp", 
                        subdir = "-/tree/spline", 
                        host = "https://gitlab.aau.at")
#> Error: Failed to install 'unknown package' from GitLab:
#>   cannot open URL 'https://gitlab.aau.at/api/v4/projects/agebhard%2Finterp/repository/files/-%2Ftree%2Fspline%2FDESCRIPTION/raw?ref=HEAD'

Создано 09 февраля 2022 г. пакетом reprex (v2.0.1.9000)

В итоге я клонировал весь репозиторий, а затем использовал git branchвыбрать ветку и установить локально. Но наверняка remotes::install_gitlab()предложите способ установки прямо из ветки? install_github()функция имеет refдля выбора ветки или тега, но я не вижу эквивалента этого аргумента в install_gitlab().

2 ответа

Вы можете использовать только install_git

      remotes::install_git(
  url = "https://gitlab.aau.at/agebhard/interp.git",
  ref = "spline"
)

Благодаря ответу @danlooo и некоторой отладке я нашел правильный способ использования install_gitlabсам. Вы просто ставите ветку в конце имени с @знак, например

      remotes::install_gitlab("agebhard/interp@spline", 
                        host = "gitlab.aau.at")
Другие вопросы по тегам