#!/bin/bash ### Usage usage() { echo "Usage: `basename` [-l userLogin] [-c cloneLocation]" >&2 echo >&2 } userLogin=eric svnGforge=svn+ssh://$userLogin@scm.gforge.inria.fr/svn/cgal fromSvn=$svnGforge cloneLocation= # parse command line arguments while getopts "l:c:hv" OPT; do case "$OPT" in l) userLogin=$OPTARG ;; c) cloneLocation=$OPTARG ;; # for developers h) usage exit 0 ;; v) echo "`basename $0` version 0.1" exit 0 ;; # for all \?) # getopts issues an error message usage exit 1 ;; esac done #shift `expr $OPTIND - 1` ### Authors file echo "Get authors file with svn" svn cat $fromSvn/branches/next/Maintenance/git/authors-file.txt > /tmp/cgal-authors-file.txt echo # git config svn.authorsfile $(basename $(pwd))/git-authors if [ "$cloneLocation" != "" ]; then git fetch $cloneLocation --all echo "Fetching svn-branches" git fetch $cloneLocation refs/remotes/svn/stable:refs/remotes/svn/stable refs/remotes/svn/next:refs/remotes/svn/next for branch in `svn ls $fromSvn/branches/features`; do git fetch $cloneLocation refs/remotes/svn/features/${branch%/}:refs/remotes/svn/features/${branch%/} done; for branch in `svn ls $fromSvn/branches/releases`; do git fetch $cloneLocation refs/remotes/svn/releases/${branch%/}:refs/remotes/svn/releases/${branch%/} done; # TODO delete deleted branches # tags are cloned with git fetch fi git svn fetch # TODO AUTHORS FILE git svn rebase --all if [ "$cloneLocation" == "" ]; then # TODO delete deleted branches # TODO convert svn-tags to git-tags fi git branch -a rm -f /tmp/cgal-authors-files.txt fi