8d836d7d9b221b0ec4bb84e7c41571aab4eb81d8
[homepage.git] / blog / posts / 2008 / 10 / debcheckout_hacking.mdwn
1 # New features for debcheckout, ... now with TopGit support!
2
3 Today I've spent some time hacking on
4 [debcheckout](http://upsilon.cc/~zack/blog/posts/2007/08/debcheckout/),
5 which for weird reasons happens to be at the bottom of a stack of
6 chained things that I need to do in the forthcoming days. Also, I had
7 neglected `debcheckout` for a while, and the other
8 [devscripts](http://packages.debian.org/devscripts) folks where ready
9 to shout at me because of that :-) .
10
11 Well, it has been fun, and beside having fixed all the outstanding
12 bugs, `debcheckout` has grown some cute new features:
13
14 * the ability to **query a VCS repository** (using `-d`/`--details`)
15   for details, at the very minimum it will parse for you the `Vcs-*`
16   fields, but it is expected that in the future will be able to be
17   more telling, and it is already so for
18   [TopGit](http://repo.or.cz/w/topgit.git) ...
19
20 * ... and speaking about that, debcheckout now has **support for
21   TopGit**. In two ways: the first one is using `-d`, which will tell
22   you whether a GIT repo is TopGit-enabled or not and, if it is so,
23   also the *list of available top-bases*. For instance:
24
25         zack@usha:~$ debcheckout -d topgit
26         type    git
27         url     git://git.debian.org/git/collab-maint/topgit.git
28         top-bases       debian/locations
29         topgit  yes
30   
31   or even more brutally
32
33          zack@usha:~$ debcheckout -d git://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-batteries.git
34          type    git
35          url     git://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-batteries.git
36          top-bases       features/flexi-build
37          topgit  yes
38
39   The other way in which TopGit is supported, is that when checking
40   out a GIT repo which is detected to be TopGit's as well, population
41   of top-bases (i.e., *TopGit local initialization*) is automatically
42   performed.
43
44   ... yes, a while ago I've fallen in love with TopGit, is it *that*
45   evident? :-)
46
47 * it is now possible to specify **custom rules for authenticated
48   mode**, this way you can use `-a` also on packages not hosted on
49   well known Debian/Ubuntu VCS servers
50
51 * finally, you can now ask `debcheckout` to automatically enable
52   **remote tracking of remote GIT branches**, which is usually what
53   a maintainer wants to do when doing a fresh checkout
54
55 Enjoy!
56
57 <small>(ah, of course all this is not uploaded yet, but you can grab a
58 [preview](http://svn.debian.org/viewsvn/devscripts/trunk/scripts/debcheckout.pl?rev=HEAD&view=log)
59 from devscripts' VCS or, better, doing `debcheckout devscripts` which
60 is soooo bootstrapy. SCNR.)</small>
61
62 [[tag lang/english planet/debian debian qa vcs]]