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 |
| deprecated |
|
| ||
app-engine | /app-engine |
| never released... |
|
| |
/archetype |
| |||||
/archetypes |
| Hervé Boutemy historically, all archetypes were released in 1 release, but since a few years, every archetype is released independantly | ||||
components | /components |
|
|
|
| |
/core-integration-testing |
| |||||
/doxia/doxia |
|
|
|
| ||
/doxia/doxia-ide |
| really alive? |
|
| ||
/doxia/doxia-sitetools |
|
|
|
| ||
/doxia/doxia-tools |
|
|
| |||
/doxia/site |
| same as Maven site: Hervé Boutemy AFAIK, infra only supports svn for CMS |
|
| ||
/enforcer |
|
|
|
| ||
/indexer |
| |||||
/jxr |
|
|
|
| ||
Maven 1 | /maven-1 |
|
|
|
| |
Maven 2 | /maven-2 |
| Olivier Lamy migrate this really ? |
|
| |
Maven 3 | /maven-3 |
| ||||
/plugin-testing | current git@asf repo is ok | |||||
/plugin-tools |
|
|
| |||
/plugins |
| Olivier Lamy: ouch ! need to be discussed more |
| |||
/pom |
| Olivier Lamy migrate this really ? Hervé Boutemy: ASF parent and Maven parent don't have same release schedule, then would be split in 2 git repos |
|
| ||
Project | /project |
| Olivier Lamy no migration |
|
| |
/release |
| Baptiste Mathus has verified existing git clone to be ready for migration | ||||
repository-tools | /repository-tools |
|
|
|
| |
/resources |
| Olivier Lamy: need to be discussed more |
|
| ||
retired | /retired |
| Olivier Lamy: no migration |
|
| |
sandbox | /sandbox |
| Olivier Lamy: migrate this really ? |
|
| |
scm | /scm |
| ||||
/shared |
| Kristian Rosenvold: thinks this repo should be split into separate projects |
| |||
/site |
| Hervé Boutemy AFAIK, infra only supports svn for CMS |
|
| ||
/skins |
| Olivier Lamy: need to be discussed more |
|
| ||
/surefire |
| |||||
/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.
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.
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 + 2 skins (3 obsolete) | 1 aggregator job: maven-skins | N/A |
doxia-tools | 1 parent pom + 5 tools | 1 aggregator job: doxia-tools | Doxia Aggregator |
archetypes |
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 ?