Git usage in the Common Lisp packaging Team

In use for clisp.

Recommandations for handling the Git repository.

The Git repositories are stored on Alioth, for example for clisp we have:

Repository setup

Upstream goes to a branch called upstream, each upstream version that is packages is also a branch upstream-<version>. The upstream for a released Debian version has a parallel branch called upstream-<Debian code name>, for example upstream-lenny.

The debian/ directory lives in the debian-<debian version> branch. This branch is created new for every new upstream release and is rebased on the new release. So in practice you go:

git checkout -b upstream-2.49 upstream-2.48
#import 2.49 here
git add ..
git commit ...
git rebase --onto debian-2.49-1 upstream-2.49 debian-2.48-3
git checkout debian-2.49-1
dch --newversion 2.49-1 --distribution UNRELEASED

Patches and fixes to upstreams are in quilt and live also in the debian-<version> branches.

You build using git-buildpackage --git-debian-branch=debian-<debian version> --git-upstream-branch=upstream-<version> -us -uc

Other Guidelines

NMU's and patches

NMU's are strongly encouraged to apply the changes directly into the git repositories.