Aigars Mahinovs <aigar...@gmail.com> writes:
> On Sun, 30 Jun 2024 at 17:58, Russ Allbery <r...@debian.org> wrote:

>>> The second file consists of a shallow git clone of the repository for
>>> the tag that t2u wants to upload, put into an appropriately named
>>> tarball.

>> Just to double check, to make sure I'm not missing some subtlety, it's
>> intentional that this file contains all of the same information as in
>> the first file, and the first file is just a subset of this same
>> information in a different form?

>> In other words, someone could verify the signature on the Git tag in
>> this file and then run the git ls-files command on the Git repository
>> and get exactly the same information as in the first file, so the first
>> file is technically redundant.  I can think of some reasons why you
>> might want that, but it's a little surprising, so I wanted to make sure
>> that's intentional.

> Correct me if I'm wrong, but I believe the intention is to have two
> technically redundant data points saved into the archive:

> 1) checksums of the contents of the shallow copy git tree in the
> maintainer work folder (signed by the maintainer)
> 2) contents of the shallow copy git tree in the t2u server work folder
> (signed by t2u)

Oh!  Did I misunderstand Joerg's second point entirely?  By "the tag that
t2u wants to upload," I assumed that meant the tag the uploader signed or,
in other words, the state of the tree *before* t2u started doing its work
that has the uploader signature attached.

If the intent is to have it be the tree *after* t2u has done its work (in
other words, the same patches-applied tree with debian/patches/* populated
that t2u would push to dgit-repos), that's something a bit different.

Personally, I think if we're including a Git bundle anyway, we should
create a shallow clone that includes all of those things: the Git tag the
maintainer signed, the Git tag that t2u pushed to dgit-repos, and the Git
tag of the upstream tree.  It's a Git bundle, it's easy to include more
things.

> The only suggestion I would have here would be to have the shallow git
> clone on the t2u side have a variable depth that is selected so that the
> commits in the resulting depth are sufficient for the source package
> construction, like in case of a rebase workflow you'd need to have git
> history deep enough to include all Debian patches and the last upstream
> commit.

Yes, that's also an interesting idea.

-- 
Russ Allbery (r...@debian.org)              <https://www.eyrie.org/~eagle/>

Reply via email to