Documentation/4.5/Developers/Build system/SlicerBot/SVN2GitHub

From Slicer Wiki
Jump to: navigation, search
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 with github-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.


ChangeLogs