[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Darcs? Was: Git?


Am Samstag, den 04.07.2009, 22:31 +0200 schrieb Joachim Breitner:
> May I propose a change to the darcs repository layout? I’d suggest we
> actually do have one darcs repository, containing the debian/ files, per
> package. The advantages are:
>  * A tool very similar to build-pkg-haskell can be created
> (pkg-haskell-checkout, or an improved debcheckout). Given a package
> name, it would, like your script, fetch the upstream tarball, but not
> only copy the _contents_ of the repository to debian/, but rather put
> the repository at debian/. This way, you have one place where you can
> make and commit changes, but also build the package as usual. This has
> also the advantage that you can use dpkg-buildpackage, debuild, pdebuild
> or whatever you like there, it’s not tied to our tools.
>  * The Vcs-Darcs: line is more meaningful than just
>   Vcs-Darcs: http://darcs.debian.org/darcs/pkg-haskell/
> This is especially interesting with an improved debcheckout.
> I find the first one quite important: Not being able to build from the
> directory you are working on is suboptimal, having the upstream sources
> at the usual place is good to check the .cabal file and in general it’s
> a more common setup.
> I know that we are losing the one-repository-advantages, which is
> unfortunate, but the issues written above are more important, IMHO.
> Maybe I’ll set it up for a package to better describe what I mean, if
> it’s unclear.

Oh, here is a prototype of what I’d imaging. I modified your script to
pkg-haskell-checkout[0], but I’d imagine this can be merged into
debcheckout if it works out[1].

== Initial Checkin from existing package ==
$ cd ~/debian/official/haskell/haskell-x11-xft-0.3
$ fakeroot debian/rules clean
$ cd debian/
$ darcs init
$ darcs add *
$ darcs rec -a
$ darcs push alioth.debian.org:/darcs/pkg-haskell/haskell-x11-xft

== Getting the sources ==
$ ./pkg-haskell-checkout haskell-x11-xft
Copying patches, to get lazy repository hit ctrl-C...
Finished getting.
haskell-x11-xft: Version (0.3) available on remote site:

  (local version is 0.3)
haskell-x11-xft: Successfully downloaded updated package
    and symlinked haskell-x11-xft_0.3.orig.tar.gz to it
Successfully checked out haskell-x11-xft in haskell-x11-xft-0.3
$ ls haskell-x11-xft-0.3
debian  Graphics  Hello.hs  LICENSE  Setup.lhs  X11-xft.cabal
$ ls haskell-x11-xft-0.3/debian/
changelog  compat  control  copyright  _darcs  rules  watch

From now on, we have a fully regular Debian source package tree where
you can use debuild -I, and inside debian/ use the normal darcs
commands. No need for extra tools like dpkg-buildpackage that need to be


[0] I couldn’t push:
darcs: takeLock /srv/darcs.debian.org/darcs/pkg-haskell/_darcs/lock
in /srv/darcs.debian.org/darcs/pkg-haskell:
atomic_create /srv/darcs.debian.org/darcs/pkg-haskell/_darcs/lock
in /srv/darcs.debian.org/darcs/pkg-haskell: permission denied
(Permission denied)

Marco, do you need to run
	chmod g+w -R /srv/darcs.debian.org/darcs/pkg-haskell/
on alioth?

Strangely, the repositories that I pushed with "darcs put" have correct

[1] http://bugs.debian.org/535767

Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply to: