This drawing app is a part of the ClojureBridge curriculum. Updates to the curriculum are welcome and encouraged! We would not have anything without the input from the volunteers organizing workshops.
The curriculum team uses GitHub to review, discuss, and ultimately accept changes. If you don't have a GitHub account, you'll have to sign up. If you're new to git or collaborating on shared Git repositories, checkout the references.
-
Fork this repository to your GitHub account.
-
Clone your fork to your local computer:
# Run from a terminal environment. git clone https://github.com/<your GitHub username>/drawing.git cd drawing/
With the local fork in hand, you're ready to make some changes.
-
First, create a local topic branch for your change:
git checkout -b my-new-feature-branch
-
Commit changes to your new branch:
# Create, edit, remove files, etc. git add . git commit -m "An informative description of my change."
After finishing work on your branch, you can submit a pull request for review:
-
Push your committed changes from your local fork of the repository. This sets up a remote branch tracking your local branch:
git push origin -u my-new-feature-branch
-
Once you're done making your change, you're ready to submit a pull request (PR) to the ClojureBridge/drawing repository. Pull requests are submitted from your own fork, but will appear on the upstream repository. After pushing changes to your fork, you fork's GitHub page will automatically prompt you to submit a pull request upstream.
-
The ClojureBridge curriculum team will review and discuss the pull request in comments on the PR. Two curriculum team members must give a thumbs up, then the PR will be accepted. All pull requests will receive a response, but may need to be updated with new commits once you've received feedback from the maintainer.
-
After your PR is accepted and merged into
master
, you'll have to update your own fork. First, set the upstream remote repository:git remote add upstream git://github.com/ClojureBridge/drawing.git
and then update your local copy:
git checkout master git fetch upstream master git push origin master
- Wait, why does the curriculum team get to say which PRs get accepted? I'm glad you asked! If you contribute more than two patches, you, too, will become part of the curriculum team.
- Curriculum team members are given commit rights to the curriculum.
- Commit rights are meant for approving PRs, not for making direct commits.
- There is also a ClojureBridge curriculum group for discussing curriculum direction.
- Workshops or chapters that are using the main ClojureBridge curriculum should fork the curriculum to their chapter's GitHub (e.g., https://github.com/clojurebridge-sf/curriculum)
- Give teachers commit rights to the chapter's fork of the curriculum.
- The submit pull requests to the main curriculum, if you would like to contribute the changes back.
If this is your first time using Git and GitHub for source code version control and collaboration, there are some great tutorials on the web. For Git fundamentals, Git Immersion walks through a lot of basic usage. GitHub guides also explains common GitHub collaboration workflows, such as forking. The workflow described above is sometimes known as the "GitHub flow". If you have any questions, don't hesitate to ask questions to the curriculum mailing list.