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
        cd /usr/src
        git init
        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
        # matters.
        #
        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.
        #
        git pull


    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.
        git pull

    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.

                                        -Matt
                                        Matthew Dillon 
                                        <dil...@backplane.com>

Reply via email to