GIT

There are two completely separate trees for development:

Stable olsrd

The stable version of olsrd is hosted in its own git repo:

git clone git://olsr.org/olsrd.git
or:

git clone http://olsr.org/git/olsrd.git

All development is done in the master branch. When its time to make a new release, a new branch is created with a name based on the version of the next release, i.e. release-0.6.4. Bugfixes then then still committed into master and then cherry-picked into the release branch as needed. When the final release is made, it is tagged in git.

OLSR Frameworks

The new version of olsrd is structured as a collection of generic frameworks. It is split up into a handful of git repo. You can see them all by looking at the git repos: http://olsr.org/git/

guidelines for committing

  • rebase patches against the latest master before submitting them
  • rebase development branches against master before merging them in
  • write meaningful commit messages, don't talk just parrot the change in the code since a diff can tell you that
  • keep the first line of the commit message under 72 characters, like an email subject
  • add as much detail as possible to the body of the commit message, like the body of an email

Useful git documentation

You will find that the first link, the Pro Git book, will cover just about everything. Other links might also be interesting or useful for getting starting with git:

If you want to work with the OLSRd on windows, you might want to look at this URL:
http://code.google.com/p/msysgit/downloads/list

Using a git GUI is highly recommended. git comes with gitk and git gui. There are many others available, including QGIT:
http://sourceforge.net/projects/qgit/