# apt-get install svn-all-fast-export cd ~/svn2gitmig svnrdump dump svn+ssh://util@svn.clazzes.org/svn/util/ > util-dumpfile svnadmin create util-repo/ svnadmin load util-repo < util-dumpfile echo '#!/bin/sh' > util-repo/hooks/pre-revprop-change chmod 755 util-repo/hooks/pre-revprop-change ### Rules.txt # create repository aop-util # end repository #### Read first commit message and put the following per moved or added paths #read -n 1 -p "#### WAITING ####" x && svn log -v --stop-on-copy file:///home/hstudt/svn2gitmig/util-repo/trunk/aop-util #match /trunk/aop-util/ # repository aop-util # branch main #end match # ls util/tags/ > svntags # gedit svntags ##### Suchen & Ersetzen: # ^([^0-9]+)-(\d\.\d\.\d)$ # match /tags/\\0/\\n repository \\1\\n branch refs/tags/v\\2\\n annotated true\\nend match #### Stattdessen ginge im match auch Regexp und das verweisen darauf #If the branch was moved from somewhere: read -n 1 -p "#### WAITING ####" x && svn log -v --stop-on-copy file:///home/hstudt/svn2gitmig/util-repo/trunk/util/@474 #Danach rules.txt manuell durchgehen, unbenutzte löschen, nicht matchende # manuell machen # Manuell ignorierte trunk/branches/tags als matches unten hinzufügen # Fehler des dry-runs reparieren. ##################### # svn-all-fast-export --identity-map authors.txt --rules rules.txt --add-metadata --dry-run --stats --svn-branches /home/hstudt/svn2gitmig/util-repo/ ##################### ## Parent SubGroup SQL git clone -b main sql-util sql-util-git (cd sql-util-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/sql/sql-util.git) (cd sql-util-git && git push --all) (cd sql-util-git && git push --tags) export WHAT="jdbc-provider" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/sql/$WHAT.git && git push --all && git push --tags) ## Parent SubGroup HTTP export WHAT="http-util" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/http/$WHAT.git && git push --all && git push --tags) export WHAT="velocity-servlet" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/http/$WHAT.git && git push --all && git push --tags) ## Parent SubGroup PARENTS export WHAT="central-parent" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/parents/$WHAT.git && git push --all && git push --tags) export WHAT="clazzes-parent" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/parents/$WHAT.git && git push --all && git push --tags) ## Parent SubGroup UTIL export WHAT="clazzes-transaction" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) export WHAT="aop-util" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) export WHAT="clazzes-util" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) export WHAT="comparators-util" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) export WHAT="sched-util" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) export WHAT="slf4osgi" git clone -b main $WHAT $WHAT-git (cd $WHAT-git && git remote set-url origin git@gitlab.intra.iteg.at:java-libs/util/$WHAT.git && git push --all && git push --tags) ################# svn checkout svn+ssh://util@svn.clazzes.org/svn/util/trunk util-origin cp authors.txt util-origin cp svngitmove util-origin cp rules.txt util-origin echo "This repository has been moved to git and is set read-only." > util-origin/readme_moved2git.txt (cd util-origin && svn add readme_moved2git.txt) (cd util-origin && svn add authors.txt) (cd util-origin && svn add rules.txt) (cd util-origin && svn add svngitmove) (cd util-origin && svn commit -m "Migrated to git info" authors.txt svngitmove rules.txt readme_moved2git.txt) # TODO ggf. Confluence updaten