Back to Projects List
Transition to GitHub as authoritative version control system
Key Investigators
  - Jean-Christophe Fillion-Robin (Kitware, Inc.)
 
  - Andras Lasso (Queen’s University)
 
  - Steve Pieper (Isomics, Inc.)
 
Project Description
Work toward finalizing the conversion from
Slicer SVN repository mirror mirrored on GitHub
to
GitHub only repository
Objective
  - Objective A. Remove all large binary data from current Slicer source version and filter history removing large data from past commits and restore authorship
 
  - Objective B. Document how developers can upload binary data, and update release process as needed. (based on ITK great documentation)
 
  - Objective C. Publish updated repository
 
Approach and Plan
  - See plan documented on the wiki Labs page. See https://www.slicer.org/wiki/Documentation/Labs/TransitionToGit
 
Progress and Next Steps
Discussion Summary
Copied from Slicer 5 breakout session page
  - Rename 
Slicer -> SlicerGitSVNArchive 
  - Publish updated history as 
SlicerGit
    
      - when ready to switch: Rename 
SlicerGit to Slicer 
    
   
  - Transition scripts
    
      - Update commit message to change link from https://github.com/Slicer/Slicer/pull/N  to https://github.com/Slicer/SlicerGitSVNArchive/pull/N
 
      - Add new trailer called: 
svn-url: http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=REV 
    
   
  - Create FAQ document to explain how and why to re-fork, etc …
 
  - Extract list of all contributors and ask on discourse which emails is preferred
 
  - Mantis:
    
      - Create redirect from mantisarchive.slicer.org/view.php?id=4681 to https://issues.slicer.org/view.php?id=4681
 
    
   
Post-release Action items:
  - Mantis:
    
      - Create static website with archived mantis issues
 
      - Ensure mantisarchive.slicer.org/view.php?id=4681 redirects to that website
 
    
   
  - SVN:
    
      - Question: Should we create a static website for http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=28742 or have redirect to the corresponding commit on GitHub
 
    
   
Technical Achievements
  - Generated list of files to remove from the history
 
  - Created script to remove files and add them to 
GIT_MIGRATION_DATA_REMOVED.txt. Script is executed using git filter-branch --tree-filter 
  - Created git-rocket-filter scripts for:
    
      - consolidating git trailers, set author name and email based on “From:”
 
      - fixing authorship
 
    
   
  - Created script to graft release branches onto filter master branch
 
  - See https://github.com/jcfr/Slicer-github-transition-scripts
 
Illustrations
Background and References