The “How to contribute changes to somebody else’s project” episode can be covered
relavely quickly and offers room for discussion if you have me le. However, this
should not be skipped as this is perhaps the key learning outcome.
Preparing exercises
Exercise leads typically prepare exercise repositories for the exercise group (although the
material speaks about “maintainer” who can also be one of the learners). Preparing the first
exercise (centralized workflow) will take more me than preparing the second (forking
workflow). Most preparaon me is not the generang part but will go into communicang
the URL to the exercise group, communicang their usernames, adding them as
collaborators, and waing unl everybody accepts the GitHub invitaon to join the newly
created exercise repository.
Live stream:
Create the centralized exercises in an organizaon (not under your username) so that you
can give others admin access to add collaborators. Also this way you can then fork
yourself if needed.
For CR workshops, the exercises were placed under hps://github.com/cr-workshop-
exercises. The instructors or team leads need to have owner status in the organizaon in
order to invite people.
We have created two versions of each a day in advance to signal which one might end up
being discussed on recording/stream:
centralized-workflow-exercise-recorded
centralized-workflow-exercise
forking-workflow-exercise-recorded
forking-workflow-exercise
Protect the default branch of the two centralized-* repositories.
We create a organizaon team, stream-exercise-participants . The centralized workflow
exercise repos have this team added as a collaborator (not forking - they fork so they
don’t need write access there).
We have collected usernames of people who want to contribute via issues on GitHub.
Make a fih repository, access-requests , create a sample access request issue there, and
have learners make a new issue in that repository. The day/morning before the day of the
lesson the instructor or team leader now has to invite the learners to the team. Three
steps: 1. copy the learners GitHub username from the issue 2. go to team member page,
example linked here and invite that username to the team (this means first clicking invite
and then scrolling down to click the “add username to …” buon. This sends an email to
that users email that is connected to their GitHub account. 3. In the issue, copy following
text (or similar) to the issue and “close with comment”: