Simon Richter <s...@debian.org> writes:

> One _incremental_ change I'd like to see would be archive support for
> .orig.bundle.* (containing a shallow copy of the upstream commit) and 
> .debian.bundle.* (containing the differences between the upstream
> commit and the package), which would be an absolute game changer for
> git integration, the archive side would probably be fairly simple to 
> implement, and it would allow us to ship the "preferred form for
> modification" for a lot of projects more easily.
>
> Mirrors would still get a size-minimal representation, this format
> does not impose a particular workflow and can be easily generated from
> and validated against the full tree.

This is an interesting idea!

I think one fundamental aspect that lead to tag2upload is that some
upstream's are moving away from tarballs and towards having the git
repository to be the preferred form of publishing and using a project.

What you suggest enables Debian to support this new way of publishing
projects natively, instead of adding tag2upload as a intermediary to
work around how upstream work with releases.

There are some problems though:

1) I don't think a shallow copy will work generally.  Instead you want
to upload the entire upstream git repository as a bundle.  There are
several reasons for this, but two simple examples: 1)
gitlog-to-changelog or git2cl needs the entire git repository to produce
its outputs, and some packages ship this output in the Debian binary
package. 2) scripts like git-version-gen that uses 'git describe' plus
some additional magic to determine the version number, and it may fail
to understand which version it is when parts of the git history is
missing.

2) git bundles [built from a git clone of a remote repository] are not
guaranteed to be reproducible, so with this approach there is no
canonical bit-by-bit identical data stream that corresponds to what
upstream intended to be released.  This makes it hard to attach any
cryptographic signature in a meaningful way.

I think this idea has potential, and these two concerns should not be
showstoppers.  It is orthogonal to tag2upload though, and I don't think
exploring the *.orig.bundle.* approach should block tag2upload.

/Simon

Attachment: signature.asc
Description: PGP signature

Reply via email to