README for SIPB maintainers Basic instructions on scripts of interest. Also, How this repository is set up, and how to keep IkiWiki up to date. Overview: IkiWiki is a compiler based wiki, as such the files you should be editing are not the live files, and you will need to run a script in order to make your changes live. These scripts must be run as sipb-www@scripts.mit.edu, do not attempt to run them locally. The scripts are as follows: ~/bin/reinstall-ikiwiki This script reinstalls the source files (i.e. this directory) and must be run if you edit source files or templates or anything else in this directory. ~/bin/update-ikiwiki This script recompiles the website from its source directory ikiwiki/src into the live wiki directory web_scripts/wiki. It should be needed only if you do something odd; if you push to the master repo at wiki.git, the post-update hook will do the same thing as this. Setup: There are three branches of interest: remotes/origin/master, master and sipb. remotes/origin/master is the remote branch we are tracking; all upstream changes show up in this branch when we `git fetch`. master is our "awaiting upstream approval" branch, based off of remotes/origin/master. Any patches in this branch should be immediately suitable for submission to IkiWiki maintainers/. Ideally, this branch should be equivalent to remotes/origin/master. sipb is our live branch. It contains all of the ugly hacks and custom modifications that we needed to make our website run. Ideally, this branch is equivalent to master. Don't expect it to be without a lot of rearchitecting and upstream cooperation. Keeping up to date: This two-tiered setup means that you will need to rebase twice in order to propagate changes; possibly once if master == origin/master. Your commands will look like this: $ git checkout origin if master == remotes/origin/master: $ git pull else $ git fetch $ git rebase origin/master fi $ git checkout sipb $ git rebase master TODO: Make a script that does this.