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