Web lists-archives.com

wishlist script: “hegemon”: set up bare git mirror farm for all debian sources




git at alioth is coming along very nicely and was a great step
forward for Debian (thank you Ian).

What would be nice is a script e.g. called say "hegemon" which could
be used to greate a Debian git repo farm locally.

Why?

Well, I hold that this would be preferable to adding sources to my
Debian mirror - these days, who wants tar balls?

Seriously, what you want is a source repo, with tags for the various
releases of a package, so you can e.g. compare the current sid
release with stable or testing, view the Debian specific patches,
etc.

This is what "sources" used to be used for.

Nowadays sources is kinda moot.

I note from here https://wiki.debian.org/Alioth/Git ^B
https://wiki.debian.org/PackagingWithGit it says "If upstream is
using git to manage their source, the debianization repository can
live in a branch off of the main upstream tree. Clearly this can work
only with some upstreams, but the big upside is that the relationship
between the debianization and the upstream code is VERY clear." which
is immediately followed with this "Since the Debian APT repositories
still use tarballs you still have to manage those with this setup,
but the pristine-tar exists for that purpose."

There are possibly still advantages to tarballs, I don't know, since
I haven't used one in something like a decade or more. Consistency of
distribution of sources? Compliance with Debian packaging guidelines?

Debian sources is currently a poor man's hegemon, providing little
more than a point in time snapshot (which admittedly 'matches'
(hopefully) the current respective binaries).

The true hegemon (maniacal laughter echoes in the background) wants
unified git repos, for every package.

I imagine that some "canonical vcs" datum would need to be collected/
stored for each package, and hegemon would cycle through them running
some default cmd like “git fetch”

hegemon would also know to use git plugins to hungrily grab upstreams
of other persuasions such as hg, bzr or (ughh! svn), for that
equanimous local uniformity and hegemonic experience that we all
crave so.

Then, who would ever download 55GiBsMeDats again? Especially when a
simple

 git clone /my/hegemon/p/package-source-repo /my/tmp/package-work-dir
 cd /my/tmp/package-work-dir
 git reset --hard v1.02
 deb-buildpackage --pristine-tar

will do that job?

THEN, finally, a weekly

 hegemon build-tar git-deltas ^1week

could be usefully generated and distributed (and downloaded and
applied to local hegemon repo farms, by those who would otherwise be
updating their debian source repos) and might ultimately supplant the
tar source distribution.

…