Control: reopen -1
Control: retitle -1 Docs and messages about NEW/REJECT need overhaul

Simon Josefsson writes ("Re: Bug#1127666: how to recover from intermittent SSH 
push.dgit.d.o issue?"):
> Ian Jackson <[email protected]> writes:
> > Did you in fact rewind history to no longer include the REJECT-worthy
> > material ?
> 
> No.  Where is rewinding discussed?  I see nothing relevant in dgit(1).

Indeed, it's not discussed explicitly.  It's implied by the option
name, but the option doesn't say *what* it's not fast forward from.

> What do you actually mean by "rewind history"?  Is that a
> well-established term for anything specific?

Yes.  Err.  As an experienced git user you must surely be familiar
with this concept.  You must know it by a different name.  The kind of
thing that results in a force push.

If the problematic package had legally dnagerous files, then we would
have to not ship them at all ever, even in git history on Salsa.  So
you'd then need to filter them out (with git-filter-branch or
something maybe, or discarding upstream history entirely, or
something) and the you'd force push to all your Salsa branches.

That.

If you had done that, then you'd need to pass
  --deliberately-not-fast-forward
to tell the dgit git server that yes, you are deliberately force
pushing.  (Normally that's not even allowed by the server; but this
NEW/REJECT state is exceptional.)

But that's not what you've done, and I think it's not what you ought
to have done.

> > I assume that the REJECTed material is included in the history you're
> > publishing there ?
> 
> Yes.  The copyright REJECTs were because d/copyright had bugs, not
> because the content is undistributable.  This seems like common
> scenario.

Right.  --deliberately-include-questionable-history is precisely
right, then.

The system doesn't know what the nature of the problem is.  You just
need to reassure it that your previous commits were merely wrong or
incomplete, rather than legally dangerous.

> Could perhaps be forced using --deliberately-<something>.  See dgit(1).
> 
> dgit: error: pushing tainted objects (which server would reject)
> ! Push failed, while preparing your push.
> ! You can retry the push, after fixing the problem, if you like.
> jas@frallan:~/dpkg/golang-filippo-nistec$
> 
> So a bit better error message, thank you!

When we deploy the server side you'll get a more on-point suggestion
mentioning both these options.

> jas@frallan:~/dpkg/golang-filippo-nistec$ dgit push-built --new 
> --deliberately-not-fast-forward -Cgolang-filippo-nistec_0.0.4-3_amd64.changes
...
> History contains tainted commit 089445ef0355a294a39643e8f4d476fd88844fb5
> Taint recorded at time 2026-02-11 00:43:10 Z for any package
> Reason: tag archive/debian/0.0.4-1 referred to this object in git tree but 
> all previously pushed versions were found to have been removed from NEW (ie, 
> rejected) (or never arrived)
> Could perhaps be forced using --deliberately-<something>.  See dgit(1).

This is expected.  The system doesn't know that that commit wasn't
legally dangerous, and you haven't reassured it.

> I can't say that I understand what happened, or why that didn't work,
> but I changed approach:
> 
> 
> jas@frallan:~/dpkg/golang-filippo-nistec$ dgit push-built --new 
> --deliberately-include-questionable-history 
> -Cgolang-filippo-nistec_0.0.4-3_amd64.changes
...
> remote: History contains tainted commit 
> 089445ef0355a294a39643e8f4d476fd88844fb5
> remote: Taint recorded at time 2026-02-11 00:43:10 Z for package 
> golang-filippo-nistec
> remote: Reason: tag archive/debian/0.0.4-1 referred to this object in git 
> tree but all previously pushed versions were found to have been removed from 
> NEW (ie, rejected) (or never arrived)

This is expected.

> remote: Uncorrectable error.  If confused, consult administrator.

This message is a lie.  That's #1127378, which is fixed in git but not
deployed it.  It should have printed

  Forcing due to --deliberately-include-questionable-history

The bug is purely to the message - it does in fact continue:

> dgit ok: pushed and uploaded 0.0.4-3
> jas@frallan:~/dpkg/golang-filippo-nistec$ 
> 
> I'm not sure if I should hope for ACCEPT or REJECT now...

So, I think you should hope for an ACCEPT.


I think this exchange demonstrates that our documentation (and perhaps
messages) need rather more work.  I'm reopening this bug.

Would you be willing to cast your eye over our revised docs/message
wording?  Eg by Assigning you Review on Salsa ?

Regards,
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