Skip to content
Jeff Squyres edited this page Sep 11, 2014 · 12 revisions

There are several things that need to be migrated:

  1. SVN repository needs to be (intelligently) converted to Git
  2. Trac wiki needs to be converted to Github Markdown
  3. (Relevant) Trac tickets need to be converted to Github Issues
  4. Nightly build scripts and release scripts need to be converted to Git
  5. Convert ompi-tests SVN to a private Github repo

SVN -> Git conversion

The procedure is essentially:

  1. Use git-svn to clone the SVN repo
  2. Fix a bunch of the remote refs
  3. Delete a bunch of old/stale branches (mostly by-products of the git-svn clone)
  4. 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
  5. 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

Will convert over all open, non-CMR tickets. Must have everyone added to the final OMPI Github repo first (so that it can assign tickets properly, etc.).

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 been done when hwloc converted over to Git/Github. 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:

openmpi-1.8.3a1r32695.tar.bz2

and

openmpi-1.9a1r32706.tar.bz2

It will be the number of commits from the last tag on that branch. For example:

# 21 commits after the v1.9 tag
hwloc-1.9-21-gfd56b4e.tar.bz2

and

# 211 commits after the [artificial] "dev" tag
hwloc-dev-211-gddefb2f.tar.bz

Convert ompi-tests SVN to Git

Foo

Clone this wiki locally