Differences between revisions 4 and 5
Revision 4 as of 2011-02-18 04:20:36
Size: 2113
Revision 5 as of 2012-07-25 18:19:28
Size: 2134
Editor: ThomasKoch
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:


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:

  • web view

  • For people with Alioth access: git clone ssh://git.debian.org/git/pkg-common-lisp/clisp.git

  • Anonymous access either one of:
    • git clone http://git.debian.org/git/pkg-common-lisp/clisp.git

    • git clone git://git.debian.org/git/pkg-common-lisp/clisp.git

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

  • Keep the distribution UNRELEASED until we release
  • Keep one commit to one consistent change, use git commit --amend in case you make mistakes

  • After each upload, the first commit should be creating a new changelog entry with distribution set to UNRELEASED
  • If upstream uses a SVC consider importing the upstream changes into the git tree.

NMU's and patches

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