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

Re: Lowering the barrier to entry/adoption and (mass) svn-to-git migration



Hi Diederik!

I agree, I think anything that reduces the complexity of the ecosystem
is great and the lowers the barrier for entry. As pretty anything uses
Git now, I think migrating more things from SVN to Git would be great.

On Fri, Jan 27, 2023 at 07:56:37PM +0100, Diederik de Haas wrote:
> I wouldn't be surprised if most people would bail out at the first 404 message.
> 
> There must be a better way?
> - I don't know if someone has already done this migration and could share 
> their experience/tools/etc?
> - If it needs to be done, isn't it way better to do a mass-migration of all 
> the repos which haven't been converted yet? There may be a high similarity 
> between the various SVN repos, but all the projects within one SVN repo likely 
> share many things? Like svn-user to git-user mapping?
> - And then update d/control so that the PTS page links directly to the salsa 
> repo?
> (- I don't know if snapshot.d.o could/should play a role in this)
> 
> Would love to hear some thoughts on this.

I've been looking at how to do a mass conversion. There's about 375 packages still
listed as being on alioth (~100 in SVN, ~267 in Git, the rest in
something else).
https://janitor.debian.net/cupboard/result-codes/hosted-on-alioth?campaign=unchanged&include_transient=off&include_historical=off

Here's what I have so far:

 * A scheduler script that determines what things still claim to
   be hosted on alioth and finds the matching archive
   https://salsa.debian.org/janitor-team/janitor.debian.net/-/blob/master/schedule/vcswatch-candidates.py
   (based on vcswatch data in UDD)

 * A "import-from-alioth.py" script
 (https://salsa.debian.org/janitor-team/janitor.debian.net/-/blob/master/import-alioth-archive.py)
 that takes an alioth archive and pulls it into the local repository.

 * lintian-brush has a mapping of team names to locations in salsa,
   here: https://salsa.debian.org/jelmer/lintian-brush/-/blob/master/lintian_brush/salsa.py

What still needs to happen is:

 * The mapping still needs to be tied together with the import script, to
   generate correct URLs to push to and set the Vcs-* headers
   appropriately

   I'm not sure what to do with packages whether the owning user or team
   is not on salsa. Add them to the "debian" group?

 * The import script supports just git right now, not svn. There's ~8
   repositories in a VCS other than SVN or Git, which we could just
   migrate manually.

 * Verification that this is all working well

 * and then perhaps gradually rolling it out, starting with QA packages.
   then perhaps getting buyin from the maintainers of the packages
   involved and doing the rest.

Cheers,

Jelmer


Reply to: