*** Git Backend ***

vcs directory contains repo
each stack corresponds to a branch in repo
master stack corresponds to master branch

- Initializing
create (non-bare) repo in vcs dir
add empty 02packages.details.txt file
add empty 09stack.props.txt file
commit to git (no parents)
write 02packages.details.txt.gz to stack dir
copy 09stack.props.txt to stack dir

- Branching
create new stack dir, authors -> ./authors
create branch and checkout in repo
write 02packages.details.txt.gz to new stack dir
copy 09stack.props.txt to new stack dir

one directory is the "master" repo
and one directory for each stack repo
each stack repo is a clone of the master
merges happen by pushing/fetching to/from master 