"I’ll do it, but only if you’ll help"
PHP Perl JavaScript CSS PLpgSQL Python Other



Checking out the code

If you just want read-only access to everything, clone this
repository as with any other, then cd into it and run
    git submodule update --init
to fetch the contents of the commonlib submodule.

If you want to fork your own pledgebank, but don't think
you'll have to alter the common code in commonlib, then
just do the above on your forked version.

If you want to be able to alter commonlib too, then fork
pledgebank and commonlib, and do something like the following
(using dracos' forks as an example here):

$ git clone git@github.com:dracos/pledgebank.git
$ cd pledgebank/
$ git config submodule.commonlib.url git@github.com:dracos/commonlib.git
$ git submodule update --init
Submodule path 'commonlib': checked out 'd49d5b0413b85099397cff550fec7fd94c2943fc'

By specifying a different submodule URL, you've checked out one
that you can push back to. Note that the commonlib will not be
on a branch by default, so you'll have to cd commonlib and
git checkout master (or whatever) to do that.

If you change something in commonlib that you want the parent
project to have, you should first commit/push the change in
commonlib, then git add commonlib and commit from the parent
directory (beware, make sure there's no "/" on the end of
git add otherwise git gets all confused).

You can presumably change from a read-only commonlib to your own
forked version by removing its contents, changing
submodule.commonlib.url, and rerunning git submodule, though
I've never tried that myself.