-
Notifications
You must be signed in to change notification settings - Fork 1
GithubMigration
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
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
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.
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.
Read how to open new issues on Github.
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
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
and
# 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
and
# On the master branch, 211 commits after the [artificial] "dev" tag
hwloc-dev-211-gddefb2f.tar.bz
The private 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.
When's good?
- All developers will start using the
ompi
repomaster
branch immediately. - 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-mirror
repo will likely need to extract their non-upstream work and rebase it onto a freshompi
clone. - 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.