Simon Richter writes ("Re: [RFC] General Resolution to deploy tag2upload [and 1 more messages]"): > I think we cannot increment ourselves into a good solution here.
We certainly can improve things a long way. That's what we're doing. The way to do a big transition is to write a gateway, and then gradeually move interfaces to the new way of doing things. But you're right that there's an underlying hard problem. Right now there isn't *any* really good solution to the problem of maintaining a long term delta queue, as a downstream. That is the core problem which is addressed by gbp pq, by git-debrebase, by git-dpm, by git-debcherry, by stgit, and in own its way by dpkg-sources's `3.0 (quilt)`. But tag2upload *does* significantly improve each of our existing git-based approaches, and enables future improvements. It *will* enable leaving cruft behind: > There are lots of other problems with the various mappings in use, each > makes different trade-offs. Accommodating them all inside tag2upload is > an ab-initio commitment to technical debt. It's certainly not. We are already saddled with that debt. tag2upload doesn't help pay it all off, only some of it. Nevertheless, tag2upload does represent a bet about the future. It represents a bet that the hypothetical answer to our prayers (for a really good way to handle maintaining and rebasing and sharing a delta queue) won't be based on tar and patch and diff. It represents a bet that that answer looks enough like a fast forwarding git branch that we can store it in existing git repositories and share it using existing git tooling. It represents a bet that if it is not precisely git, but maybe something on top of git, it's close enough in model to a git branch, or a a signed git tag, that we can reuse much of the data model and much of the code. Almost all of the somewhat-clumsy answers we have already to this problem have these properties. So that bet seems a good one to me, a decade or so after I first made it in the context of dgit. It's true that there's a fair amount of code in tag2upload to deal with the different workflows. Most of that is to do with *source packages*, not git representations. The pure-git representations generated by fully git-based tooling are generally tractable. But, to an extent, that code represents a bug that the marvellous downstream delta queue tool won't appear, and become ubiquitous, tomorrow. (Even, tomorrow in Debian terms.) But the real difficulty comes when importing a .dsc from the archive, and then modifying it in git, and wanting to re-upload it. This is something tag2upload wants to support. But it's hard because the varieties of nonsense you can upload as a source package are quite astonishing, and that makes a bidirectional gateway hard. Nevertheless, we have solved that problem. I think it was worth doing. Debian hasn't abolished source package uploads and `quilt (3.0)` in the last 10 years, and we won't in the next 10 either. Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> 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.