There are several things that need to be migrated:
- SVN repository needs to be (intelligently) converted to Git
- Trac wiki needs to be converted to Github Markdown
- (Relevant) Trac tickets need to be converted to Github Issues
- Nightly build scripts and release scripts need to be converted to Git
- Convert ompi-tests SVN to a private Github repo
Notes for developers:
- The abbreviated commit diff "svn" mailing list no longer exists.
- The full commit diff "svn-full" mailing list has been renamed to "ompi-commits".
- The Trac bug activity "bugs" mailing list no longer exists. You must join the
ompirepo at Github (and subscribe to notices) to receive email notifications for bugs.
SVN -> Git conversion
The procedure is essentially:
- Use git-svn to clone the SVN repo
- Fix a bunch of the remote refs
- Delete a bunch of old/stale branches (mostly by-products of the git-svn clone)
- Edit every SVN commit message:
- Add mention of what SVN r number this commit was
- Find mentions of "rXXX" and add new git reference hash
- Find mentions of "#XXX" and add link to old Trac ticket
- Fix git tags (our SVN tags weren't accurate)
Here's an example SVN commit message:
Fixes #4884: Move r32628 to v1.8 branch (usnic: remove suggestion of enabling) ---svn-pre-commit-ignore-below--- r32628 usnic: remove suggestion of enabling no-drop in the fabric Reviewed by Reese Faucette cmr=v1.8.3:reviewer=ompi-rm1.8
Here's how it was translated for Git:
Fixes trac:4884: Move r32628 to v1.8 branch (usnic: remove suggestion of enabling) ---svn-pre-commit-ignore-below--- r32628 usnic: remove suggestion of enabling no-drop in the fabric Reviewed by Reese Faucette cmr=v1.8.3:reviewer=ompi-rm1.8 This commit was SVN r32641. The following SVN revision numbers were found above: r32628 -> 971fa467c0d9a6d549e6aeb50b59c332028f4359 The following Trac tickets were found above: Ticket 4884 -> https://svn.open-mpi.org/trac/ompi/ticket/4884
Trac wiki -> Github Markdown
Converted over all OMPI Trac wiki pages that were reachable from the main wiki page via some hand-written perl regular expressions.
After that, did a bunch of visual inspection to fix up remaining issues.
Also updated pages about SVN/Trac interaction to be about Git/Github interaction. Go read them.
(Relevant) Trac tickets -> Github issues
There is a process ready to convert over all "relevant" Trac tickets into Github issues.
"Relevant" means tickets that are both open and not CMRs.
However, before running this procedure, I must have everyone added to the final OMPI Github repo first (so that it can assign tickets properly, etc.). This is why I posted recently asking for everyone's Github IDs.
WARNING: You really want to "Unwatch" the ompi Github repo, first. Otherwise, Github will mail you for every Issue created and every comment/action added to that issue. This will likely range from dozens to (many) hundreds of emails.
After the tickets have been migrated, you can set the "Subscribe" settings back to defaults (i.e., be notified when an issue is assigned to you, someone @mentions you, etc.).
YOU HAVE BEEN WARNED
Nightly build scripts
The bulk of this work has already been done when hwloc converted over to Git/Github. I will simply adapt hwloc's scripts for Open MPI.
Note that the format of the nightly tarball names will be changing. Instead of containing an absolute r number in the filename, like this:
# On the SVN v1.8 branch, before the 1.8.3 release openmpi-1.8.3a1r32695.tar.bz2
# On the SVN trunk, before the 1.9 release openmpi-1.9a1r32706.tar.bz2
It will be the number of commits after the last tag on that branch. For example:
# On the v1.8 branch, 21 commits after the v1.9 tag hwloc-1.9-21-gfd56b4e.tar.bz2
# On the master branch, 211 commits after the [artificial] "dev" tag hwloc-dev-211-gddefb2f.tar.bz
Convert ompi-tests SVN to Git
ompi-tests SVN repository is now the private
ompi-tests Git repo at Github.
It is still private.
I need approximately 1 business day to do this conversion. Need to find a day to do it that is permissable in my schedule and as non-disruptive to the community as possible.
DECIDED: Wednesday, September 24, 2014
After the conversion
- All developers will start using the
- All new tickets will be filed as Github issues.
- Developers are encouraged to use the Github code review tools (annotation, etc.). You can use @mentions to add someone else to a conversation thread.
- All open CMRs will need to be re-filed as pull requests. Trac CMRs are not automatically being converted.
- Anyone using the existing Github
ompi-svn-mirrorrepo will likely need to extract their non-upstream work and rebase it onto a fresh
- SVN and Trac will be preserved in read-only modes. I.e., old links to SVN and Trac will still work, but you won't be able to change anything.