Documentation/4.5/Developers/Build system/SlicerBot/SVN2GitHub
From Slicer Wiki
Home < Documentation < 4.5 < Developers < Build system < SlicerBot < SVN2GitHub
This page describes how the Slicer GitHub repository is maintained in sync with the official Slicer SVN repository.
Note that the SlicerRT GitHub repository is maintaining in sync using a similar process.
Overview
A cron job running every minutes on factory-south
is doing git svn rebase
and then force pushing change onto the Slicer github repository.
Details
- As detailed here, the
slicerbot
user is pushing changes.
- The
slicerbot
user SSH key is associated withgithub-slicerbot
hostname adding the following entry into/Users/kitware/.ssh/config
:
$ cat /Users/kitware/.ssh/config Host github-slicerbot HostName github.com User git IdentityFile ~/.ssh/slicerbot-factory-south
- The associated cronjob entry is reported below:
$ crontab -l */1 * * * * /Volumes/Dashboards/SVN2Github/lockrun --quiet --lockfile=/Volumes/Dashboards/SVN2Github/Slicer-SVN2GitHub.lockrun -- /bin/sh /Volumes/Dashboards/SVN2Github/Slicer-SVN2GitHub.sh
- Lockrun tool is used to ensure no concurrent rebase&push are occurring.
Slicer-SVN2GitHub.sh
andSlicer-SVN2GitHub-slicerbot.sh
scripts are available on https://gist.github.com/jcfr/da442a017484b7691018
ChangeLogs
- 2015/10/19: Updated script adding --force option to address issue reported on Slicer/Slicer/pull/375#issuecomment-148759758
- 2015/10/19: Created this page and added scripts on https://gist.github.com/jcfr/da442a017484b7691018