• repo_create - create a GitHub repository.

  • repo_delete - delete a GitHub repository.

  • repo_rename - rename a repository, note that renamed repositories retain their unique identifier and can still be accessed via their old names due to GitHub re-directing.

  • repo_exists - returns TRUE if the GitHub repository exists. It will also print a message if a repository has been renamed, unless quiet = TRUE.

  • repo_mirror mirror the content of a repository to another repository, the target repo must already exist.

  • repo_mirror_template - mirror the content of a source template repository to a new repository, the target repo must not already exist.

  • repo_is_template - returns TRUE if a repository is a template repo.

  • repo_set_template - change the template status of a repository.

repo_create(
  org,
  name,
  prefix = "",
  suffix = "",
  private = TRUE,
  auto_init = FALSE,
  gitignore_template = "R"
)

repo_delete(repo, prompt = TRUE)

repo_exists(repo, strict = FALSE, quiet = FALSE)

repo_is_template(repo)

repo_mirror(
  source_repo,
  target_repo,
  overwrite = FALSE,
  verbose = FALSE,
  warn = TRUE
)

repo_mirror_template(source_repo, target_repo, private = TRUE)

repo_rename(repo, new_repo)

repo_set_template(repo, status = TRUE)

Arguments

org

Character. Name of the GitHub organization.

name

Character. One or more GitHub username or team name.

prefix

Character. Common repository name prefix

suffix

Character. Common repository name suffix

private

Logical. Should the new repository be private or public.

auto_init

Logical. Should the repository be initialized with a README.md.

gitignore_template

Character. .gitignore language template to use.

repo

Character. Address of repository in owner/repo format.

prompt

Logical. Should the user be prompted before deleting repositories. Default true.

strict

Logical. Should the old name of a renamed repositories be allowed.

quiet

Logical. Should details on renamed repositories be printed.

source_repo

Character. Address of template repository in owner/name format.

target_repo

Character. One or more repository addresses in owner/name format. Note when using template repos these new repositories must not exist.

overwrite

Logical. Should the target repositories be overwritten.

verbose

Logical. Display verbose output.

warn

Logical. Warn the user about the function being deprecated.

new_repo

Character. New name of repository without the owner.

status

Logical. Should the repository be set as a template repository

Examples

# \dontrun{ repo_create("ghclass-test", "repo_test")
#> Created repo 'ghclass-test/repo_test'.
repo_exists("ghclass-test/repo_test")
#> [1] TRUE
repo_rename("ghclass-test/repo_test", "repo_test_new")
#> Renamed repo 'ghclass-test/repo_test' to 'ghclass-test/repo_test_new'.
# The new repo exists repo_exists("ghclass-test/repo_test_new")
#> [1] TRUE
# The old repo forwards to the new repo repo_exists("ghclass-test/repo_test")
#> [1] TRUE
# Check for the redirect by setting `strict = TRUE` repo_exists("ghclass-test/repo_test", strict = TRUE)
#> [1] FALSE
# The prefered way of copying a repo is by making the source a template repo_is_template("ghclass-test/repo_test_new")
#> [1] FALSE
repo_set_template("ghclass-test/repo_test_new")
#> Changed the template status of repo 'ghclass-test/repo_test_new' to TRUE.
repo_is_template("ghclass-test/repo_test_new")
#> [1] TRUE
# Given a template repo we can then directly copy the repo on GitHub repo_mirror_template("ghclass-test/repo_test_new", "ghclass-test/repo_test_copy")
#> Mirrored repo 'ghclass-test/repo_test_new' to repo 'ghclass-test/repo_test_copy'.
repo_exists("ghclass-test/repo_test_copy")
#> [1] TRUE
# Cleanup repo_delete( c("ghclass-test/repo_test_new", "ghclass-test/repo_test_copy"), prompt = FALSE )
#> Deleted repo 'ghclass-test/repo_test_new'.
#> Deleted repo 'ghclass-test/repo_test_copy'.
# }