On 27/08/25 at 02:15 +0200, Johannes Schauer Marin Rodrigues wrote:
> Hi,
> 
> Quoting Lucas Nussbaum (2025-08-26 09:52:42)
> > On 26/08/25 at 09:33 +0200, Simon Josefsson wrote:
> > > Are your scripts to do these mass-commits available somewhere?
> > > 
> > > I've often wanted to apply the same kind of fix to many packages at the
> > > same time, but I mentally queue them and apply them when updating a
> > > particular package once it is time to work on that package.  This can
> > > take months to complete, and probably leads to mistakes.
> > 
> > Yes
> > 
> > the main script to migrate a given project to DEP-14 is
> > https://salsa.debian.org/ruby-team/meta/-/blob/master/dep14-migrate?ref_type=heads
> 
> that sounds like a useful tool for devscripts, no?

I thought about it but I'm not sure: at this point, I think it's useful
as an example of how to perform such a migration in a large team, but it
encodes some of the Ruby team's preferences. I would expect other teams
to use it as a basis and adjust it to their own preferences, not to
expect it to meet their needs as is.

But maybe after one or two other teams will have adapted it, it could
reach a state that is sufficient for serving as-is for other teams.

> Otto has already created a tool called dep-14-convert-git-branch-names:
> https://salsa.debian.org/debian/devscripts/-/blob/main/scripts/dep-14-convert-git-branch-names.sh

Yes, the main difference with dep12-migrate is that dep12-migrate does
everything through the GitLab API -- it does not need a local copy of the
git repository, so it's more efficient when migrating many packages.
Also dep12-migrate performs the actual migration, while
dep-14-convert-git-branch-names.sh only suggests what should be done.

Maybe what dep14-migrate does should be integrated into the salsa(1)
tool. Currently salsa(1) does not have really have multi-steps
processes, but could have. The reason why multi-steps processes are
required in that context is for the branch renaming:
1/ to rename upstream to upstream/latest, you need to create a temporary
branch, remove 'upstream', then create 'upstream/latest'
(upstream/latest and upstream cannot coexist because of the common
prefix).
2/ after a branch is renamed, it takes some time (30 seconds max) for
GitLab to reflect this in API calls that list branches. So it's useful
to just rename all branches, then wait for things to settle, then use
the new branch schema to update debian/gbp.conf.

Lucas

Reply via email to