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

Re: Popularity of bzr-builddeb and dh-make

On 19/10/2012 12:35, Steve Langasek wrote:
> On Thu, Oct 18, 2012 at 08:16:50PM -0700, Russ Allbery wrote:
>> Steve Langasek <vorlon@debian.org> writes:
>>> The last time I complained about non-pristine-tar git package repos on
>>> IRC, I was told that pristine-tar doesn't scale.  So apparently in git
>>> usage, folks haven't worked out that the unpacked upstream source should
>>> be tracked as a branch instead of trying to track a pristine-tar delta
>>> against the upstream git branch directly.
>> What did you mean by that last sentence?  I was unable to parse it.  In
>> particular, I think I don't understand the difference between "tracked as
>> a branch" and "track a pristine-tar delta against the upstream git
>> branch," which both sound like they mean the same thing.
> The UDD branch model used in Launchpad has three branches (not counting the
> pristine-tar objects):
>  - the upstream branch (as it exists upstream)
>  - a synthesized branch which merges from the upstream branch and tracks
>    the contents of the upstream tarball releases /as contents/
>  - the packaging branch
> AIUI, most users of pristine-tar in git don't have the second of these
> branches, which means the pristine-tar binary delta is done against the
> upstream branch - so each pristine-tar blob contains all the information
> about autogenerated files in the tarball, in a format that doesn't in turn
> compress well in the git repository.  And if your packaging branch actually
> tracks the full source package contents, then it would have to track the
> autogenerated files, so you might actually be storing these files twice.

Actually most users of pristine-tar in git don't have the *first* of these
branches. They usually have an upstream branch which is synthesized solely from
importing tarballs using git import-orig. In other words, the typical practice
is to avoid sharing git history with the upstream VCS, which in turn works out
very well for git-dch, because you don't get unnecessary upstream changes
documented in debian/changelog.

> In UDD, the delta to the autogenerated files from one upstream release to
> the next is stored like any other branch delta, and the pristine-tar blob
> only has to account for the tarball/gzip metadata itself.  I believe this
> was done by design precisely in order to address the pristine-tar
> scalability problem; in any case, I don't hear complaints about pristine-tar
> being unusable for Ubuntu packages for the reasons people seem to be
> shunning it for Debian packages in git.

I honestly haven't heard about many people shunning pristine-tar for Debian
packages in git. I suspect you're hearing about this from a vocal minority who
also use alternative git packaging helpers.

Kind regards,
Loong Jin

Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: