We are going to migrate the current Subversion (SVN) repository to another source control management (SCM) software, called Git. Migration is scheduled for January 29th, 2010.

The oustanding differences between Git and SVN are:

Installing Git

On Debian and Ubuntu, just install the "git-core" package; you may also be interested in the "git-doc" package.

On Windows, there are two possibilities:

Learning about Git

You can look at the documentation available in the documentation section of the Git website.

Start reading the tutorial. Also read Git for computer scientists which explains how Git internally stores data and history: this makes the understanding of commands much more easier (in particular for branching/merging).

Quick start for Dynare users

For users who want to track daily development of Dynare, only two commands are needed (very much like with Subversion).

Initial setup:

git clone http://www.dynare.org/git/dynare.git

(equivalent of SVN checkout)

This will store Dynare source code in directory dynare.git.

For regular updates, go into that directory and type:

git pull

(equivalent of SVN update)

For Dynare developers

We will adopt a decentralized architecture.

Of course, there will still be a central public repository.

But along with that, each developer will have his own public repository on the Kirikou server, on which he will push his modifications.

Once these modifications are ready to be integrated in the official central repository (possibly after review by another developer), they will be integrated in the central repository by an integrator (Michel, Stéphane or Sébastien).

To be more concrete, the workflow for a developer is the following:

Access to the public individual repositories will be done using SSH, with public keys. Each developer should therefore install an SSH client and setup an SSH key.