Control: reassign -1 git-buildpackage 0.8.12.2

Hi Guido.  This is another weirdness with gbp pq conversion.

To reproduce:

  git clone https://salsa.debian.org/bremner/nullmailer
  cd nullmailer
  git checkout -b bug912426 debian/1%2.1-7
  less debian/patches/0004-Sort-files-in-archive-reproducible-builds.patch
  # ^ observe base-64-encoded commit message, C-T-E header
  gbp pq import
  git-log -1 HEAD~3
  # ^ observe binary gibberish in commit message

It appears that gbp pq is confused about where the base64 decoding
needs to stop; perhaps it is passing too much of the patch to whatever
it uses to parse email-ish messages.  And/or whatever is handling that
is too tolerant of garbase in the base64 - that may be an underlying
bug.

Expected results are IMO any of:

  (i) an error message (about a corrupted patch header or
      content-transfer-encoding not being supported or something)

  (ii) successfully decoding the base64 and stopping in
      the right place, and then somehow resolving the
      fact that the patch has both a From: in the email header
      and an Author: in the body.

  (iii) The base64 scribblings copied verbatim without
      decoding into the git commit message.  (not preferred)

I think David, the submitter of this bug, would prefer (ii).

But I would prefer (i) (as the default behaviour) on the grounds that
this file is neither a proper git-am format message, nor a legal DEP-3
patch header.  In general it is better to reject malformed things than
to carry on and attempt to make sense of them.

(Of course my perspective is that I have already given up on the idea
that gbp pq can be used on *any* `3.0 (quilt)' package, and written
fallback code in dgit.  Other users might well take the view that
laxity is more preferable, or at least want an option for laxity...)

Anyway, I hope you found this entertaining.


BTW, David, did you test your steps to reproduce ?

David Bremner writes ("Bug#912426: git-debrebase: mangled conversion from 
base64"):
> debcheckout nullmailer

There is no vcs-git field.  Instead (after a search on salsa) I did:
  git-remote add bremner https://salsa.debian.org/bremner/nullmailer
  git-fetch bremner

> cd nullmailer && git reset --hard debian/1%2.1-7
> git debrebase --force convert-from-gdb  upstream/2.1

gbp, not gdb.


Regards,
Ian.

Reply via email to