# See differences in your local copy
git diff
# Commit your changes to the local repository
git commit -m "Explain your changes"
# Update your local copy with changes from remote repository (github)
git pull --rebase
# Send your changes to the remote repository
git push
# See differences between branches
git diff master
# Merge changes from master into your branch
git rebase -i master
# Get help
git help
-
make build
Build irace
-
make install
Build and install the package
-
make cran
Check that the build is acceptable by CRAN
-
make check
More thoroughly test the build
-
make quick-install
Do a minimal build and install that has as few requirements as possible. Designed for installing on machines that are not used for development, like IRIDIA's cluster.
-
--as-cran messages of the type:
Undefined global functions or variables: median p.adjust pchisq qt read.table recover rexp rnorm runif t.test wilcox.test
can be fixed by running:
imports_for_undefined_globals <-
function(txt, lst, selective = TRUE)
{
if(!missing(txt))
lst <- scan(what = character(), text = txt, quiet = TRUE)
nms <- lapply(lst, find)
ind <- sapply(nms, length) > 0L
imp <- split(lst[ind], substring(unlist(nms[ind]), 9L))
if(selective) {
sprintf("importFrom(%s)",
vapply(Map(c, names(imp), imp),
function(e)
paste0("\"", e, "\"", collapse = ", "),
""))
} else {
sprintf("import(\"%s\")", names(imp))
}
}
R> txt <- "median p.adjust pchisq qt read.table recover rexp rnorm runif t.test
wilcox.test"
R> writeLines(imports_for_undefined_globals(txt, selective = FALSE))
And adding the result to NAMESPACE. Namespaces newly imported from also need to be listed in the Imports: field of DESCRIPTION.
TODO: See useful release steps here: tidyverse/ggplot2#4965
-
git status # make sure you are up to date and clean
-
make check # passes
-
make releasecheck
-
make examples # Takes a few hours. Inspect the examples in the vignette.
-
make revdepcheck # Takes a few hours
-
make releasebuild # Inspect the output for strange files!
-
make closeversion
-
Update
cran-comments.md
-
make submit
11.a IF the package requires further changes:
-
Make the changes.
-
Repeat the whole RELEASE process above without bumping the version number.
11.b IF the package is released in CRAN:
-
Bump the version number in DESCRIPTION and NEWS.md.
-
make build # To update other files with the new version."
-
git ci -a -m " * Bump development version to $NEW_VERSION"
-
Announce the release in the Google group:
Dear irace users,
Version 2.2 of irace is available from CRAN: https://cran.r-project.org/package=irace
There are significant bugfixes and only very minor interface changes so we recommend all users to upgrade:
NEWS entry
Best wishes,
Manuel López-Ibáñez.