1#' Git Remotes 2#' 3#' List, add, configure, or remove remotes. 4#' 5#' @export 6#' @rdname git_remote 7#' @name git_remote 8#' @family git 9#' @inheritParams git_open 10#' @param remote name of an existing remote. Default `NULL` means the remote 11#' from the upstream of the current branch. 12#' @param url server url (https or ssh) 13#' @useDynLib gert R_git_remote_list 14git_remote_list <- function(repo = '.'){ 15 repo <- git_open(repo) 16 .Call(R_git_remote_list, repo) 17} 18 19#' @export 20#' @rdname git_remote 21#' @param name unique name for the new remote 22#' @param refspec optional string with the remote fetch value 23#' @useDynLib gert R_git_remote_add 24git_remote_add <- function(url, name = "origin", refspec = NULL, repo = '.'){ 25 repo <- git_open(repo) 26 name <- as.character(name) 27 url <- as.character(url) 28 refspec <- as.character(refspec) 29 invisible(.Call(R_git_remote_add, repo, name, url, refspec)) 30} 31 32#' @export 33#' @rdname git_remote 34#' @useDynLib gert R_git_remote_remove 35git_remote_remove <- function(remote, repo = '.'){ 36 repo <- git_open(repo) 37 remote <- as.character(remote) 38 .Call(R_git_remote_remove, repo, remote) 39 invisible() 40} 41 42#' @export 43#' @rdname git_remote 44#' @useDynLib gert R_git_remote_info 45git_remote_info <- function(remote = NULL, repo = '.'){ 46 repo <- git_open(repo) 47 remote <- as.character(remote) 48 if(!length(remote)) 49 remote <- git_info(repo = repo)$remote 50 .Call(R_git_remote_info, repo, remote) 51} 52 53#' @export 54#' @rdname git_remote 55#' @useDynLib gert R_git_remote_set_url 56git_remote_set_url <- function(url, remote = NULL, repo = '.'){ 57 repo <- git_open(repo) 58 name <- as.character(remote) 59 if(!length(remote)) 60 remote <- git_info(repo = repo)$remote 61 url <- as.character(url) 62 .Call(R_git_remote_set_url, repo, remote, url) 63 invisible() 64} 65 66#' @export 67#' @rdname git_remote 68#' @useDynLib gert R_git_remote_set_pushurl 69git_remote_set_pushurl <- function(url, remote = NULL , repo = '.'){ 70 repo <- git_open(repo) 71 remote <- as.character(remote) 72 if(!length(remote)) 73 remote <- git_info(repo = repo)$remote 74 url <- as.character(url) 75 .Call(R_git_remote_set_pushurl, repo, remote, url) 76 invisible() 77} 78 79#' @export 80#' @rdname git_remote 81#' @useDynLib gert R_git_remote_refspecs 82git_remote_refspecs <- function(remote = NULL, repo = '.'){ 83 repo <- git_open(repo) 84 remote <- as.character(remote) 85 if(!length(remote)) 86 remote <- git_info(repo = repo)$remote 87 .Call(R_git_remote_refspecs, repo, remote) 88} 89 90#' @useDynLib gert R_git_remote_add_fetch 91git_remote_add_fetch <- function(refspec, remote = NULL, repo = '.'){ 92 repo <- git_open(repo) 93 remote <- as.character(remote) 94 if(!length(remote)) 95 remote <- git_info(repo = repo)$remote 96 refspec <- as.character(refspec) 97 .Call(R_git_remote_add_fetch, repo, remote, refspec) 98} 99