See contributions to a Git repo

contributions(
  repo = ".",
  breaks = c("month", "year", "quarter", "week", "day"),
  by = c("commits", "author")
)

Arguments

repo

a path to a repository or a git_repository object. Default is '.'

breaks

Default is month. Change to year, quarter, week or day as necessary.

by

Contributions by "commits" or "author". Default is "commits".

Value

A data.frame with contributions.

Examples

if (FALSE) { ## Create directories and initialize repositories path_bare <- tempfile(pattern="git2r-") path_repo_1 <- tempfile(pattern="git2r-") path_repo_2 <- tempfile(pattern="git2r-") dir.create(path_bare) dir.create(path_repo_1) dir.create(path_repo_2) repo_bare <- init(path_bare, bare = TRUE) ## Clone to repo 1 and config user repo_1 <- clone(path_bare, path_repo_1) config(repo_1, user.name = "Alice", user.email = "[email protected]") ## Add changes to repo 1 and push to bare lines <- "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do" writeLines(lines, file.path(path_repo_1, "test.txt")) add(repo_1, "test.txt") commit(repo_1, "First commit message") ## Add more changes to repo 1 lines <- c( "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do", "eiusmod tempor incididunt ut labore et dolore magna aliqua.") writeLines(lines, file.path(path_repo_1, "test.txt")) add(repo_1, "test.txt") commit(repo_1, "Second commit message") ## Push to bare push(repo_1, "origin", "refs/heads/master") ## Clone to repo 2 repo_2 <- clone(path_bare, path_repo_2) config(repo_2, user.name = "Bob", user.email = "[email protected]") ## Add changes to repo 2 lines <- c( "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do", "eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad", "minim veniam, quis nostrud exercitation ullamco laboris nisi ut") writeLines(lines, file.path(path_repo_2, "test.txt")) add(repo_2, "test.txt") commit(repo_2, "Third commit message") ## Push to bare push(repo_2, "origin", "refs/heads/master") ## Pull changes to repo 1 pull(repo_1) ## View contributions by day contributions(repo_1) ## View contributions by author and day contributions(repo_1, by = "author") }