New instructions for using git to track the DragonFly repo
dillon at apollo.backplane.com
Mon Jan 19 12:11:17 PST 2009
The repo has not changed but I've found a simpler set of instructions
for checking out and managing it. I did split a few steps to make
them more obvious. I am avoiding the use of git-clone because it hides
too much of what goes on under the hood.
(To start from scratch)
# Create your new source dir
mkdir -p /usr/src
git remote add chlamydia git://chlamydia.fs.ei.tum.de/dragonfly.git
git remote add crater git://crater.dragonflybsd.org/dragonfly.git
# Initial fetch from chlamydia, then fetch from the (much slower) master
# repo on crater. Most of the data will thus already have been
# downloaded from chlamydia, but your primary remote can be set to
# the master repo on crater.
git fetch chlamydia
git fetch crater
# Create a local branch to track the master branch from crater
# and do the initial checkout. Use the same name to simplify
git branch master crater/master
git checkout master
# Updates your local branch from crater and adjusts your working
# directory. This keeps your sources up to date.
# Repeat as often as you like, manually. If running from cron, no
# more then once an hour please unless you are a mirror. Mirrors
# can pull every 5 minutes but should be sure to use the lockf
# utility to avoid stacking pulls.
# Resyncing from crater should be fast once the initial repo has been
# fetched from chlamydia.
Tracking a release branch is very simple as well. Create a local
branch from the remote master, checkout, and pull to update.
git branch DragonFly_RELEASE_2_0 crater/DragonFly_RELEASE_2_0
git checkout DragonFly_RELEASE_2_0
# And pull to update from crater and merge into your work directory
# as desired.
Simply use git checkout to switch between branches. More complex
commands may be needed if you have local edits pending and you wish
to switch between branches.
<dillon at backplane.com>
More information about the Users