GIT Repository
Contents
Setup
You need to setup your name and email
git config --global user.name "Your Username" git config --global user.email foo@soe.ucsc.edu
Checkout/clone once ESESC
git clone git+ssh://mada0.cse.ucsc.edu/mada/server/git/esesc
Checkout/clone once MTHD
git clone git+ssh://mada0.cse.ucsc.edu/mada/server/git/mthd
Checkout/clone once SCOORE
git clone git+ssh://mada0.cse.ucsc.edu/mada/server/git/scoore.git
Checkout/clone once SYNOS (the public branch of SCOORE)
git clone git+ssh://mada0.cse.ucsc.edu/mada/server/git/synos.git
Operation
Every day synchronize with other people modifications
git pull
Whenever you perform a task commit the changes
git commit -a
Remember that a commit does not make the changes visible. Do frequent pushes to the server
git push
To add/rename files uses the git command
git mv foo foo2 git add foo.cpp
QEMU Inclusion in ESESC
ESESC includes code from the QEMU git repository. This is merged into the ESESC repository using the subtree merge strategy.
The initial steps to merge the qemu git repository were:
git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git git merge -s ours --no-commit qemu-mainline/master git read-tree --prefix=emul/qemu/ -u qemu-mainline/master git commit -m "adding qemu-mainline code"
Getting updates from QEMU git is done with
git pull -s subtree qemu-mainline master
Since QEMU is already included in ESESC the initial configuration steps are not all needed for new repository clones. The only step needed is add the remote ref:
git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git
SYNOS vs SCOORE
SYNOS repository is the public version of SCOORE. SCOORE is regularly updated with patches sent to SYNOS, and once the code is stable, code from SCOORE is updated in SYNOS.
Merge Code from SYNOS to SCOORE
First, you should add the SYNOS as a remote branch in your SCOORE local repository
git remote add ucsc git://mada0.cse.ucsc.edu/synos.git git fetch ucsc
Second, you should create a branch in the local SCOORE repository that tracks the remote SYNOS repository
git checkout --track -b ucsc remotes/ucsc/master
Third, you should merge/import all the SYNOS edits to the latest SCOORE master branch
git checkout master git merge ucsc git config push.default matching git push