Sources Git migration ETA
This page will contains various Apache Maven svn and their ETA of Git Scm migration: Waiting for volunteer, Work in progress, done, to be discussed, do NOT do aggregator strategy to define
Project | ETA | Details/comment | Volunteer for migration | Infra Jira | ||
---|---|---|---|---|---|---|
ant-tasks | /ant-tasks |
|
|
|
| |
app-engine | /app-engine |
|
|
|
| |
archetype | /archetype |
| ||||
archetypes | /archetypes |
|
| |||
components | /components |
|
|
|
| |
core-integration-testing | /core-integration-testing |
| ||||
Doxia core | /doxia/doxia |
|
|
|
| |
Doxia IDE | /doxia/doxia-ide |
|
|
|
| |
Doxia Site Tools | /doxia/doxia-sitetools |
|
|
|
| |
Doxia Tools | /doxia/doxia-tools |
|
|
| ||
Doxia Site | /doxia/site |
|
|
|
| |
enforcer | /enforcer |
|
|
|
| |
indexer | /indexer |
|
| |||
jxr | /jxr |
|
|
|
| |
Maven 1 | /maven-1 |
|
|
|
| |
Maven 2 | /maven-2 |
| Olivier Lamy migrate this really ? |
|
| |
Maven 3 | /maven-3 |
| ||||
Plugin Testing | /plugin-testing | current git@asf repo is ok | ||||
Plugin Tools | /plugin-tools |
|
|
| ||
Plugins | /plugins |
| Olivier Lamy: ouch ! need to be discussed more |
| ||
Parent Poms | /pom |
| Olivier Lamy migrate this really ? Herve Boutemy: ASF parent and Maven parent don't have same release schedule |
|
| |
Project | /project |
| Olivier Lamy no migration |
|
| |
Release | /release |
| Baptiste Mathus has verified existing git clone to be ready for migration | |||
repository-tools | /repository-tools |
|
|
|
| |
resources | /resources |
| Olivier Lamy: need to be discussed more |
|
| |
retired | /retired |
| Olivier Lamy: no migration |
|
| |
sandbox | /sandbox |
| Olivier Lamy: migrate this really ? |
|
| |
scm | /scm |
| ||||
shared | /shared |
| Kristian Rosenvold: thinks this repo should be split into separate projects |
| ||
Maven Site | /site |
| Herve Boutemy AFAIK, infra only supports svn for CMS |
|
| |
skins | /skins |
| Olivier Lamy: need to be discussed more |
|
| |
surefire | /surefire |
| ||||
wagon | /wagon |
|
Keeping track of authorative 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.
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.
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.
aggregator | content | Jenkins | Sonar |
---|---|---|---|
plugins | 1 parent pom + 41 plugins | 10 aggregator jobs: maven-plugin maven-plugins-ITs-m2 maven-plugins-ITs-m2-with-maven-plugin maven-plugins-ITs-m3 maven-plugins-ITs-m3-windows maven-plugins-ITs-m3.0.4 maven-plugins-ITs-m3.0.5-with-maven-plugin maven-plugins-ITs-m3.1.x-with-maven-plugin-jdk-1.8 maven-plugins-ITs-m3.1.x-with-maven-plugin-jdk-1.8_windows maven-plugins-windows | Apache Maven Plugins Aggregator |
pom | 2 parent poms without aggregator | 2 jobs: maven-parent ASF Parent Pom | N/A |
resources | 1 parent pom + 6 resources | 1 aggregator job: maven-project-resources | N/A |
shared | 1 parent pom + 26 shared components | 2 aggregator jobs: maven-shared maven-shared-windows | Maven Shared Components Aggregator |
skins | 1 parent pom + 5 poms | 1 aggregator job: maven-skins | N/A |
doxia-tools | 1 parent pom + 5 tools | 1 aggregator job: doxia-tools | Doxia Aggregator |
question: how to clone/update such a collection of git repos (to avoid working on each repo individually)?
Migration process description
If there is an existing read-only git mirror, and it is appropriate quality (check especially behaviour on checking out tag)
1. Have infra make the existing read-only mirror the official master.
2. Change scm url in pom
3. Add .gitattributes to configure line endings
4. Update github mirroring url (file issue with github)
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 ?