tl;dr: No, you have misunderstood.

Reinhard Tartler writes ("Re: Include git commit id and git tree id in 
*.changes files when uploading?"):
> Have you considered having dgit create the tag with a timestamp so that
> REJECTED uploads and re-upload can be properly differentiated?

git tags already contain a timestamp.  (Also NMUs and maintainer
uploads ought to have different version numbers.)

> I understand the desire to be able to tell what the exact git commit
> that is in the archive.

No.  That is already achieved, using the Dgit: field.  The desire is
to be able to tell whether an upload that was known to have been made
is (i) still queued, (ii) randomly lost, or (iii) REJECTed.

>  As such, I'd argue that can only be reliably
> determined *after* the archive accepted the package, whereas dgit
> creates and pushes that tag before that happens.  Maybe that's the
> design bug that is causing confusion?

This is not a design bug.

There are two recipients of a git-based upload: the git server, and
the legacy archive.  Unlike the archive, the git server provides a
synchronous, atomic, and reliable API.  It would have been possible to
somehow hide the git update, while waiting for the archive to accept,
but that would mean that people using only modern git-based uploads
would be exposed to undesirable behavious which arise only from the
archive's asynchronous and opaque interface.

With the current design, dgit users can always see each others'
releases, regardless of the archive state, and also they cannot
accidentally overwrite each others' work.  These are an important and
useful properties.

Being careful (and thoughtful) about this kind of thing is what gives
dgit and tag2upload useful behaviours like detecting and preventing
accidental NMU overwrites.

> Maybe dgit (or some other tool) could query the archive programmatically or by
> downloading the (authenticated) changes file and take the git commit from 
> there
> to construct the git tag representing the upload.

The dgit git server already has a system for querying the archive for
this kind of information, so that it can do the right thing when a
wholly NEW package (which is hidden from the public view) is ACCEPTed.

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to