Sources Git migration ETA

This page will contains various Apache Maven svn and their ETA of Git Scm migration: (plus)Waiting for volunteer, (warning)Work in progress, (thumbs up)done, (question)to be discussed, (minus)do NOT do (grey lightbulb)aggregator strategy to define

Project

Svn Path

ETA

Git Repo URL

Details/comment

Volunteer for migration

Infra Jira

Ant Tasks

/ant-tasks

(minus)


deprecated



app-engine

/app-engine

(question)


never released...



Archetype

/archetype

(thumbs up)

maven-archetype.git


INFRA-9100

Archetypes

/archetypes

(thumbs up)

maven-archetypes.git

Hervé Boutemy historically, all archetypes were released in 1 release, but since a few years, every archetype is released independantly
then  see (grey lightbulb)aggregator strategy

require a svn2git mirror first: INFRA-15738

INFRA-16087

components

/components

(minus)





Core ITs

/core-integration-testing

(thumbs up)

maven-integration-testing.git


INFRA-5390

Doxia core

/doxia/doxia

(thumbs up)

maven-doxia.git


INFRA-15253

Doxia IDE

/doxia/doxia-ide

(question)

maven-doxia-ide.git

really alive? let's start with a svn2git mirror: INFRA-15739



Doxia Site Tools

/doxia/doxia-sitetools

(thumbs up)

maven-doxia-sitetools.git


INFRA-15253

Doxia Tools

/doxia/doxia-tools

(thumbs up)

maven-doxia-converter.git
maven-doxia-linkcheck.git

maven-doxia-book-renderer.git
maven-doxia-book-maven-plugin.git


Doxia Site

/doxia/site

(thumbs up)

maven-doxia-site.git

same as Maven site: Hervé Boutemy AFAIK, infra only supports svn for CMS

require Jenkins credentials to publish to svnpubsub: INFRA-16088

INFRA-16361

Enforcer

/enforcer

(thumbs up)

maven-enforcer.git


INFRA-15253

Indexer

/indexer

(thumbs up)

maven-indexer.git


INFRA-5312

Jxr

/jxr

(thumbs up)

maven-jxr.git


INFRA-15253

Maven 1

/maven-1

(minus)





Maven 2

/maven-2

(question)


Olivier Lamy migrate this really ?



Maven 3

/maven-3

(thumbs up)

maven.git


INFRA-5390

Plugin Testing

/plugin-testing

(thumbs up)

maven-plugin-testing.git

current git@asf repo is ok

INFRA-5312

Plugin Tools

/plugin-tools

(thumbs up)

maven-plugin-tools.git


INFRA-15253

Plugins

/plugins

(thumbs up)

(grey lightbulb)


INFRA-5276

Parent Poms

/pom

(thumbs up)

maven-apache-parent.git
maven-parent.git

see migrate-pom.sh


Project

/project

(minus)


Olivier Lamy no migration



Release

/release

(thumbs up)

maven-release.git


INFRA-15253

repository-tools

/repository-tools

(question)

maven-repository-tools.git




Apache Resource Bundles

/resources

(thumbs up)

maven-apache-resources.git

Olivier Lamy: need to be discussed more

Hervé Boutemy see (grey lightbulb)aggregator strategy 

MASFRES-20

retired

/retired

(minus)


Olivier Lamy: no migration



Sandbox

/sandbox

(question)

maven-sandbox.git

Olivier Lamy: migrate this really ?

Hervé Boutemy created maven-studies.git to have an equivalent on Git



scm

/scm

(thumbs up)

maven-scm.git


INFRA-5266

Shared Components

/shared

(thumbs up)

(grey lightbulb)


Kristian Rosenvold: thinks this repo should be split into separate projects

Hervé Boutemy see (grey lightbulb)aggregator strategy 

see migrate-shared.sh


Maven Site

/site

(thumbs up)

maven-site.git

Hervé Boutemy AFAIK, infra only supports svn for CMS => will disable CMS

require Jenkins credentials to publish to svnpubsub: INFRA-16088

INFRA-16361

Skins

/skins

(thumbs up)

maven-default-skin.git
maven-fluido-skin.git

see migrate-skins.sh


Surefire

/surefire

(thumbs up)

maven-surefire.git


INFRA-5266

Wagon

/wagon

(thumbs up)

maven-wagon.git


INFRA-5266

(grey lightbulb)Migrating an aggregator tree into a collection of git repos

We have a few agregator trees that have to be split in a collection of git repos.

For each aggregator, there are currently a few Jenkins jobs (corresponding to misc Maven or JDK versions) that will require to be split too. Sonar configuration will require rework too.

And general question: how to clone/update such a collection of git repos (to avoid working on each repo individually)?

No strategy currently found on these 3 topics. Apache Sling seems to have the same work in progress (10/2017): see SLING-3987 and corresponding Wiki page for planning (equivalent to this one for Maven).

Update 11/2017: strategies found for every issue (ignoring Sonar for now):

TODO: delete svn2git mirrors once split: maven-pom.git, maven-skins.git

Keeping track of authoritative SCM for each plugin

As a project is migrated, the last commit in svn for that project should typically change the scm url (or invalidate it).

Update the Source Repository page (see also Doxia Source Repository).

For projects providing a plugin, we also keep track of which SCM by modifying the Available Plugins overview page, much like we do for the release process (the pages where we update the version numbers of the latest release also contain SCM url, update this and republish site when a project is migrated)

Things to discuss with INFRA

Could we have some kind of top-level git url for Maven alone ? (At least at the logical level; git://git.maven.apache.org or similar ?)
Who coordinates updates of the github mirrors ?
How do we migrate an individual project.

Migration process description

If there is an existing read-only git mirror (see http://git.apache.org/), and it is appropriate quality (check especially behaviour on checking out tag)

1. Have infra make the existing read-only mirror the official master (see INFRA-5266 for example).
2. Change scm url in pom
3. Add .gitattributes to configure line endings
4. Update github mirroring url (file issue with github) (Hervé Boutemy probably now done by infra on step 1)
5. Celebrate

Else:

Decide on scope of repository. Make git repository. Infra might help; they're a PITA to run from git-svn remote.
Have community review of repository.

Then as above

Could we have some kind of top-level git url for maven alone ? (At least at the logical level; git://git.maven.apache.org or similar ?)
Who coordinates updates of the github mirrors ?
How do we migrate an individual project.

Project's SCM info report

When a project has multiple modules, interpolated SCM info in sub-modules is wrong, and info report displays the wrong info: for example http://maven.apache.org/ref/3.1.0/maven-artifact/source-repository.html

Some tweaks in parent pom can be done to improve things: http://maven.apache.org/ref/3.1.1/maven-artifact/source-repository.html

There are improvements to MPIR 2.8 to simplify things (MPIR-290). and to improve explanations for release tag (MPIR-291).

With actual Git Webview configuration at Apache, the only way to have web view is to link to GitHub: need to be improved

Setup review board

use Apache review board ? https://reviews.apache.org ?


  • No labels