commits( repo =".", topological =TRUE, time =TRUE, reverse =FALSE, n =NULL, ref =NULL, path =NULL)
Arguments
repo: a path to a repository or a git_repository
object. Default is '.'
topological: Sort the commits in topological order (parents before children); can be combined with time sorting. Default is TRUE.
time: Sort the commits by commit time; Can be combined with topological sorting. Default is TRUE.
reverse: Sort the commits in reverse order; can be combined with topological and/or time sorting. Default is FALSE.
n: The upper limit of the number of commits to output. The default is NULL for unlimited number of commits.
ref: The name of a reference to list commits from e.g. a tag or a branch. The default is NULL for the current branch.
path: The path to a file. If not NULL, only commits modifying this file will be returned. Note that modifying commits that occurred before the file was given its present name are not returned; that is, the output of git log with --no-follow is reproduced.
Returns
list of commits in repository
Examples
## Not run:## Initialize a repositorypath <- tempfile(pattern="git2r-")dir.create(path)repo <- init(path)## Config userconfig(repo, user.name ="Alice", user.email ="alice@example.org")## Write to a file and commitlines <-"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do"writeLines(lines, file.path(path,"example.txt"))add(repo,"example.txt")commit(repo,"First commit message")## Change file and commitlines <- 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,"example.txt"))add(repo,"example.txt")commit(repo,"Second commit message")## Create a tagtag(repo,"Tagname","Tag message")## Change file again and commitlines <- 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,"example.txt"))add(repo,"example.txt")commit(repo,"Third commit message")## Create a new file containing R code, and commit.writeLines(c("x <- seq(1,100)","print(mean(x))"), file.path(path,"mean.R"))add(repo,"mean.R")commit(repo,"Fourth commit message")## List the commits in the repositorycommits(repo)## List the commits starting from the tagcommits(repo, ref ="Tagname")## List the commits modifying example.txt and mean.R.commits(repo, path ="example.txt")commits(repo, path ="mean.R")## Create and checkout 'dev' branch in the repocheckout(repo,"dev", create =TRUE)## Add changes to the 'dev' branchlines <- 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,"example.txt"))add(repo,"example.txt")commit(repo,"Commit message in dev branch")## Checkout the 'master' branch again and list the commits## starting from the 'dev' branch.checkout(repo,"master")commits(repo, ref ="dev")## End(Not run)