Mailinglist Archive: opensuse-packaging (186 mails)

< Previous Next >
Re: [opensuse-packaging] Please do not bypass the devel projects
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Mon, 2 Feb 2009 14:17:53 +0100 (CET)
  • Message-id: <Pine.LNX.4.64.0902021403260.29566@xxxxxxxxxxxxx>

On Fri, 30 Jan 2009, Lars Marowsky-Bree wrote:

We wouldn't be able to use git directly (handling the binary blobs
like tarballs would inhibit all size optimizations that git tries to
do with deltas).

I think both git and mercurial can handle binary files "efficiently"

I don't think so, but I haven't tried. The reason why I don't think so
(for git, I don't know mercurial) lies in the delta packing of blobs. In
base git all blobs are their own files, hence binary files correspond one
to one with (packed) binary blobs in the repo. That indeed is just fine.

But delta-packing tries to pack "similar" files together (similar being
heuristically defined, based on filename, size, parent directory and so
on), storing all the deltas in only a few files. That works for unpacked
clear-text files, but not at all for compressed binary stuff. Essentially
the deltas will be all-in-all-out diffs. I presume git will detect this
and not store the delta, but simply the new file, but still there's a
non-trivial cost in calculating (and disregarding) such deltas.

What's actually even worse is that all those files are stored in the repo
itself. So, while storing all text files (.spec, .changes, .diff and so
on) for all packages in git, since the dawn of time, probably produces a
git repo of reasonable size for everyone to have local, including the
tarballs would be prohibitive.

This all of course doesn't mean that using something on top of a usual VCS
wouldn't have been better.

To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups