-
Install
git
for your platform. Click the Download button. -
Once installed, in Git Bash (or the Terminal in Mac or Linux), configure git:
git config --global user.name "FirstNameGoesHere LastNameGoesHere" git config --global user.email yourEmailaddressGoesHereButDontTypeThisInLiterally
-
Clone the project locally. In Git Bash (or the Terminal in Mac or Linux), type:
git clone https://github.com/YourGithubLoginNameGoesHereButDontTypeThisInLiterally/CompilerDesign.git cd CompilerDesign
-
Once in
CompilerDesign
, set up remote repositories and install required dependencies (Java, LaTeX, Pandoc, diction, LibreOffice)../collaborators.sh setup ./generate.sh install
-
Build CompilerDesign, and check for issues.
./generate.sh pdf ./generate.sh check
-
Learn how to contribute. See the git cheat sheet
git pull upstream master # Get the latest and greatest. git checkout -b issueXYZ # Work on an issue in a new topic branch, based off of the upstream master branch. ... Hack away ... # Your text is free from content, style, grammar and spelling errors, right? ./check.sh all 03 # Let's see if everything's good in section 03. (Replace the number as necessary.) git commit -a -m "Fixed issueXYZ" # Great! Commit your changes. git push origin issueXYZ # Push your changes to your repo. Send in a pull request. git checkout master # Switch back to master. Rinse and repeat.
The Saylor Foundation has compiled a free compiler course, but a Creative Commons licensed textbook is not yet available.
Version control is not a substitute for communication, so we use github's issue tracker to manage our participation.
-
Work on open issues in github's issue tracker (comment on issues to get dibs).
- Pro tip: pair up and split the work on an issue with someone else. E.g., you write, they proofread.
- Follow the conventions.
Review contributions for quality issues (comment on pull requests).
Topic branches isolate chunks of work so that it's easier to merge in changes.
Switch to your branch in github, and send in a pull request that describes what you did. Do so when you think your changes are ready to be merged in, but do not hesitate to push works in progress.