Table of Contents

Using git for gPXE development during GSoC 2008

Overview

During GSoC, you will be working with three git repositories:

You will edit code in your local working repository. Every so often (at least once a week, preferably more) you will push changes from your local working repository to your personal public repository. This allows us to see your code.

You will occasionally need to pull changes from the master project repository, in order to keep your local working repository up to date with the main gPXE codebase.

When your code is ready to be merged into the main gPXE codebase, we will pull from your personal public repository.

Setting up your repositories

Start by downloading the source tree as per the instructions on the Download page:

  git-clone git://git.etherboot.org/scm/gpxe.git

This will create your local working repository.

Add a link to your personal public repository:

  cd gpxe
  git-remote add personal git+ssh://USERNAME@git.etherboot.org//pub/scm/people/USERNAME/gpxe.git

where USERNAME is your username on rom.etherboot.org.

Make sure that your personal public repository is up to date:

  git-push personal

Example workflow

This example shows you the various stages of creating code and publishing it.

Start by creating a branch to work in:

  cd gpxe/src
  git-checkout -b mywork origin/master
  git-push personal mywork

Edit and commit some files:

  emacs drivers/net/mydriver.c
  git-commit drivers/net/mydriver.c

Publish your changes:

  git-push personal