Open ijlyttle opened 5 years ago
Like most things for day-zero, will be basing this off of Jenny's materials, in this case: https://happygitwithr.com
When we get together for the Unconf, we will work together on a number of projects suggested by the group. The place where our code will come together is GitHub; the goal of this set of videos is to help you get your computer setup to work with git and GitHub, so you'll be ready to collaborate as soon as you arrive.
If you get well-and-truly stuck somewhere, please let one of the organizers know; we'll do our best to help you get it sorted out. As well, we will be there to help when you get to the Unconf.
git --version
from the terminal tabinstall.packages("devtools")
, remotes::install_github("r-lib/usethis")
usethis::use_git_config()
(set user.name
and user.email
)usethis::git_vaccinate()
usethis::browse_github_pat()
to get to GH page to create PATusethis::edit_r_environ()
to install PATusethis::git_sitrep()
Optional: set up .Rprofile
to use devtools
, usethis
, reprex
, as you see fit:
usethis::use_devtools()
and friends can be useful.
if (interactive()) {
# packages
suppressMessages(require("devtools"))
suppressMessages(require("usethis"))
suppressMessages(require("reprex"))
}
Bonus: set up options(usethis.description)
in your .Rprofile
.First <- function() {
# adapt these entries to your situation
options(
repos = c(
CRAN = "https://cloud.r-project.org/"
),
devtools.name = "Ian Lyttle",
usethis.description = list(
`Authors@R` = 'person("Ian", "Lyttle", email = "ian.lyttle@se.com", role = c("aut", "cre"),
comment = c(ORCID = "<your-orcid-here>"))'
)
)
}
Participants should know -- and verify that they know! -- their GitHub username and password.
A substantial fraction of the people I helped with git snafus at tidyverse dev day struggled to put their hands on this info. So as soon as we needed to provide to some new piece of s/w, vs. relying on browser cache, etc., we were stuck.
@ijlyttle Keep in mind many participants don't have a Github account right now. (See the avatars on the site) I know this is mostly your brain dump for now, so maybe you were already planning on this. Another note: when the final "prep" info gets sent out, it would be nice if there were some explanation of why we're telling them to do all these things, not just tell them to do all these things. If they feel like they don't understand the purpose of Github, I am afraid they will lose motivation & excitement. I don't want anyone feel like they don't belong because they are new to Github.
Thanks @jennybc and @sctyner!
Jenny - I would not have thought that, I'll be sure to keep that in mind!
Sam - you're right, this is brain-dump for now, but I hope to turn it into a demo screencast by the end of the weekend. I'll keep in mind that some folks will need to sign-up for GitHub. I will be mindful to talk about motivation and how our goal is to get everyone "on the boat". As you know, I can use all the help I can get to make sure I hit the right notes :)
My plan is to make a demo screencast this weekend on Mac, then demo it for whomever might be interested to give feedback. My goal is to (eventually?) get it "right" then cut in a few things from a Windows machine (which I trust will relate only to the git installation).
Proposing a revision to the plan: it may help things, not least (perhaps least) my sanity, if we break up the prep into four stages, one each week with a brief (🙏) screencast:
Week of Mar. 17:
Week of Mar. 24:
Week of Mar. 30:
usethis::git_config()
, usethis::git_vaccinate()
Week of Apr. 7:
.Rprofile
(helps you be lazy) .Renviron
(helps you be safe)usethis::git_sitrep()
Hypothesis: If there is someone who ends up "stuck", they could, in theory, use RStudio Cloud, then they would need only install a PAT in their RStudio Cloud .Renviron
.
For Windows users, Rtools. I'm embarrased to ask if we need to do anything analogous on macOS.
It's mostly covered by installing the Xcode command line tools, which is the recommended way to install git on macOS (previous week), so there's a "two birds with one stone" thing going on here. Contrary to the official advice, lots of people successfully build R packages with this dev environment vs. installing CRAN's custom toolchain. This is not enough if you need to compile packages with fortran, but that doesn't come up very often (for me, only when doing revdep checks).
Thanks @jennybc! Very comforting that Xcode handles (just about) everything - I am happy to propose to exclude fortran from our supported environment 😀
Make sure you recommend Xcode command line tools and not Xcode itself, which is enormous and overkill.
Just a placeholder for now, but this will be where I try to set out what we would like participants to have accomplished in advance of arrival at Des Moines.
This will be focused on git and GitHub setup, perhaps also to strongly encourage folks to be using the preview version (1.2) of the RStudio IDE.
I plan to make a couple of screencast videos (macOS + Windows), then to offer to arrange for help beforehand if folks run into problems.