Andrey Rakhmatullin writes ("Re: What is the source code (was: [RFC] General 
Resolution to deploy tag2upload)"):
> On Thu, Jun 20, 2024 at 11:17:42AM -0400, Paul R. Tagliamonte wrote:
> > Is uploading an NMU by dgetting the .dsc, modifying it, and dputing the
> > changed source polite these days? Is it something we want to encourage?
> > Discourage? Should it happen in Git?
> 
> As long as there is no way to properly contribute to someone else's
> repo (because there is no way to find what workflow you need to use
> [...] basing NMUs on .dsc from the archive is the only scalable way.

Yes, this is true.

tag2upload improves this situation, too. [0]

Firstly, as an NMUer, you can work in git, *without knowing the
maintainer's workflow* [1].  This is because tag2upload generates not
only a coherent source package, but also a canonicalised git view,
which is stored in a canonical location.

That canonicalised git view contains all of the maintainer's git
history, as an ancestor, and (in the usual case) represents the patch
queue as commits.  So, for example, git log and git blame on an
upstream file which is modified by patches, correctly shows the
patches in that file's git history.

Secondly, because we now have a taxonomy of maintainer git branch
formats, it is possible to write a tool that would turn an NMU made
with tag2upload into an MR on salsa in the maintainer's branch
format.  I think this could be done purely in git. [2]

Ian.

[0] Much of what I write here is all already possible if everyone is
using dgit - but only a minority of maintainers are using
`dgit push-source`, so it's not as good as it could be.

[1] This isn't true for new upstream versions.  Right now if you want
to do that a as an NMUer you typically need the maintainer's
permission.  And the maintainer will insist you update their git, on
salsa, so you end up having to use their workflow.

[2] Even, I think, a "new upstream version" NMU made *using the
NMUer's preferred git workflow* (assuming that the NMUer's workflow
preserves the patch stack integrity - so for example gbp pq, or
git-debrebase).  This conversion is not *easy*, but it becomes
possible.

-- 
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.

Reply via email to