tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgquilt



On Sun 14 Jun 2026 at 14:02:22 +0100, Jonathan Perkin wrote:
> Me too, I'm not smart enough to understand things like quilt.  The current
> patch workflow is trivial enough for me, has good tooling, and I've never
> hit any limitations with it.

I have worked a bit with quilt in $WORK-context, to update debian
packages to a newer version, when they have a bunch of patch files.
Debian patches are per-topic, not per-file. I kind of see quilt as being
very similar to a version control system (one that stores the history as
patch files).  Like the new-ish jujutsu vcs, you can move forward and
backward in history.  You can edit the current state and commit it, then
move forward (at which time you're possibly required to fix conflicts
that you have created with your change).

This is also relevant for a possible pkgsrc scenario. Imagine that
you're updating a package and then have to take care of the existing
patches. You'd apply them one by one, or automatically as many as
possible until a patch failure occurs. Quite often this is because
upstream has now incorporated the very patch you stopped at. But if not,
you can look at the patch, see what it is trying to do, and reformulate
that. This is actually very similar to the workflow with per-file
patches, except that with a per-topic patch, you get to see a more
coherent view. For example if some particular function had to be
renamed, you see the rename of all calls in one patch, instead of just a
keyhole view. With per-file patches you often see a renamed call before
the renamed definition, and you're left to guess that this will be
in one of the following patches. Maybe the whole renaming isn't needed
any more, but with per-file patches this is much harder to judge and
adapt to. With per-topic patches, the program will compile after
application of any prefix of the patch queue. Try that with per-file
patches: often it is an all-or-nothing affair.

By the way, quilt is in pkgsrc: devel/quilt, so you can try it out
easily.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert                            <rhialto/at/falu.nl>
\X/ There is no AI. There is just someone else's work.           --I. Rose

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index