Hello,
On Fri 05 Apr 2024 at 03:19pm +01, Simon McVittie wrote:
> There are basically three dgit-compatible workflows, with some minor
> adjustments around handling of .gitignore files:
>
> - "patches applied" (git-debrebase, etc.):
> This is the workflow that proponents of dgit sometimes recommend,
> and dgit uses it as its canonicalized internal representation of
> the package.
> The git tree is the same as `dpkg-source -x`, with upstream source code
> included, debian/ also included, and any Debian delta to the upstream
> source pre-applied to those source files.
> In the case of bubblewrap, if we used this workflow, after you clone
> the project, bubblewrap.c would already have the Debian-specific error
> message.
> (dgit --split-view=never or dgit --quilt=dpm)
>
> - "patches unapplied" (gbp pq, quilt, etc.):
> This is the workflow that many of the big teams use (at least Perl,
> Python, GNOME and systemd), and is the one that bubblewrap really uses.
> The git tree is the same as `dpkg-source -x --skip-patches`, with
> upstream source code included, and debian/ also included.
> Any Debian delta to the upstream source is represented in debian/patches
> but is *not* pre-applied to the source files: for example, in the case
> of bubblewrap, after you clone
> https://salsa.debian.org/debian/bubblewrap.git and view bubblewrap.c,
> it still has the upstream error message, not the Debian-specific one.
> (dgit --quilt=gbp or dgit --quilt=unapplied; I use the latter)
>
> - debian/ only:
> This is what you're advocating above.
> The git tree contians only debian/. If there is Debian delta to the
> upstream source, it is in debian/patches/ as usual.
> (dgit --quilt=baredebian* family)
People interested in these differences may also want to look at:
<https://wiki.debian.org/GitPackagingSurvey>.
>
> Again, checking for that error is something that can be (and is)
> automated: I use this workflow myself (e.g. in bubblewrap), so I know from
> experience that dgit *does* check for that error, and will fail to build
> the source package if the invariant does not hold. Again, dpkg-source
> in 3.0 (quilt) format will also make your source package fail to build
> if that error exists, except in the cases that it intentionally ignores.
Right, both dgit and tag2upload's client-side wrapped of git-tag(1),
git-debpush(1), do this check.
--
Sean Whitton
Attachment:
signature.asc
Description: PGP signature