debcheckout hacking

New features for debcheckout, ... now with TopGit support!

Today I've spent some time hacking on debcheckout,
which for weird reasons happens to be at the bottom of a stack of
chained things that I need to do in the forthcoming days. Also, I
had neglected debcheckout for a while, and the other
devscripts
folks where ready to shout at me because of that :-) .

Well, it has been fun, and beside having fixed all the
outstanding bugs, debcheckout has grown some cute new
features:

  • the ability to query a VCS repository (using
    -d/--details) for details, at the very
    minimum it will parse for you the Vcs-* fields, but it
    is expected that in the future will be able to be more telling, and
    it is already so for TopGit ...

  • ... and speaking about that, debcheckout now has support
    for TopGit
    . In two ways: the first one is using
    -d, which will tell you whether a GIT repo is
    TopGit-enabled or not and, if it is so, also the list of
    available top-bases
    . For instance:

    zack@usha:~$ debcheckout -d topgit
    type git
    url git://git.debian.org/git/collab-maint/topgit.git
    top-bases debian/locations
    topgit yes

    or even more brutally

    zack@usha:~$ debcheckout -d git://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-batteries.git
    type git
    url git://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-batteries.git
    top-bases features/flexi-build
    topgit yes

    The other way in which TopGit is supported, is that when
    checking out a GIT repo which is detected to be TopGit's as well,
    population of top-bases (i.e., TopGit local
    initialization
    ) is automatically performed.

    ... yes, a while ago I've fallen in love with TopGit, is it
    that evident? :-)

  • it is now possible to specify custom rules for
    authenticated mode
    , this way you can use -a
    also on packages not hosted on well known Debian/Ubuntu VCS
    servers

  • finally, you can now ask debcheckout to
    automatically enable remote tracking of remote GIT
    branches
    , which is usually what a maintainer wants to do
    when doing a fresh checkout

Enjoy!

(ah, of course all this is not uploaded yet, but you can
grab a
preview
from devscripts' VCS or, better, doing
debcheckout devscripts which is soooo bootstrapy.
SCNR.)

None
A comma-separated list of terms describing this content. Example: funny, bungee jumping, "Company, Inc.".
 
Original Story: Zack's Blog