diff --git a/convert-to-git.bash b/convert-to-git.bash deleted file mode 100755 index 1fb1215c4cf28b36e51e1af6f390af940e67ad1e..0000000000000000000000000000000000000000 --- a/convert-to-git.bash +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env bash - -GIT_CLEANUP=$PWD/git-cleanup.bash -GIT_CONVERT=$PWD/convert-to-git.bash - -if ! [[ -f ${GIT_CONVERT} ]]; then - cat <<EOF -error: This script expects to be called convert-to-git.bash and reside in the - directory in which it is executed. -EOF - exit -1 -fi - -clone() { - git svn clone --stdlayout \ - https://www.igpm.rwth-aachen.de/svn/sander/dune-modules/$1 -} - -handle_gitignore_and_filter() { - git svn show-ignore > .gitignore - git add .gitignore - git commit -m 'Convert svn:ignore properties to .gitignore.' - - git filter-branch -f \ - --msg-filter ' - sed -e "/^\$/{ :l; N; s/^\n\$//; t l; p; d; }" | \ - sed -e "/^git-svn-id:/s/.*@\([^ ]*\) .*$/[[Imported from SVN: r\1]]/"' \ - --commit-filter ". ${GIT_CLEANUP};" \ - HEAD -} - -create_release_branch() { - git checkout -b releases/$1 origin/$2 -} - -create_git_cleanup() { - cat > ${GIT_CLEANUP} <<'EOF' -#!/usr/bin/env bash - -case $GIT_AUTHOR_NAME in - akbib*|youett*) - GIT_AUTHOR_NAME="Jonathan Youett" - GIT_AUTHOR_EMAIL=youett@mi.fu-berlin.de - ;; - ansgar) - GIT_AUTHOR_NAME="Ansgar Burchardt" - GIT_AUTHOR_EMAIL=burchardt@igpm.rwth-aachen.de - ;; - forster*) - GIT_AUTHOR_NAME="Ralf Forster" - GIT_AUTHOR_EMAIL=forster@math.fu-berlin.de - ;; - graeser*) - GIT_AUTHOR_NAME="Carsten Gräser" - GIT_AUTHOR_EMAIL=graeser@mi.fu-berlin.de - ;; - lschmidt*|oel*) - GIT_AUTHOR_NAME="Leo Schmidt" - GIT_AUTHOR_EMAIL=lschmidt@math.fu-berlin.de - ;; - klapprot*) - GIT_AUTHOR_NAME="Corinna Klapproth" - GIT_AUTHOR_EMAIL=klapproth@zib.de - ;; - mawolf*) - GIT_AUTHOR_NAME="Maren-Wanda Wolf" - GIT_AUTHOR_EMAIL=mawolf@math.fu-berlin.de - ;; - maxka) - GIT_AUTHOR_NAME="Max Kahnt" - GIT_AUTHOR_EMAIL=max.kahnt@fu-berlin.de - ;; - pipping*) - GIT_AUTHOR_NAME="Elias Pipping" - GIT_AUTHOR_EMAIL=elias.pipping@fu-berlin.de - ;; - podlesjo) - GIT_AUTHOR_NAME="Joscha Podlesny" - GIT_AUTHOR_EMAIL=joscha.py@googlemail.com - ;; - sander*) - GIT_AUTHOR_NAME="Oliver Sander" - GIT_AUTHOR_EMAIL=sander@igpm.rwth-aachen.de - ;; - sertel) - GIT_AUTHOR_NAME="Susanne Ertel" - GIT_AUTHOR_EMAIL=ertel@zib.de - ;; - usack*) - GIT_AUTHOR_NAME="Uli Sack" - GIT_AUTHOR_EMAIL=usack@math.fu-berlin.de - ;; -esac -git commit-tree "$@" -EOF -} - -save_script_and_create_tag() { - cp ${GIT_CONVERT} . - git add convert-to-git.bash - git commit -m 'Document subversion->git migration process' - git tag -a \ - -m "Subversion->Git migration completed. Master rev: $@" \ - 'subversion->git' -} - -### Check out and clean up repositories - -create_git_cleanup - -clone dune-gfe -( - cd dune-gfe - master_rev=$(git svn find-rev HEAD) - create_release_branch 2.0-1 2.0-1 ; handle_gitignore_and_filter; # Rename - create_release_branch 2.1-1 2.1-1 ; handle_gitignore_and_filter; - create_release_branch 2.2-1 2.2-1 ; handle_gitignore_and_filter; - create_release_branch 2.2-2 2.2-2 ; handle_gitignore_and_filter; - create_release_branch 2.3-1 2.3-1 ; handle_gitignore_and_filter; - create_release_branch 2.3-2 2.3-2 ; handle_gitignore_and_filter; - create_release_branch 2.3-last-basically-sequential-version 2.3-last-basically-sequential-version ; handle_gitignore_and_filter; - create_release_branch first-evidence-that-neff-shells-do-not-lock first-evidence-that-neff-shells-do-not-lock ; handle_gitignore_and_filter; - create_release_branch first-working-adol-c-support first-working-adol-c-support ; handle_gitignore_and_filter; - create_release_branch working-version-before-moving-to-dune-functions working-version-before-moving-to-dune-functions ; handle_gitignore_and_filter; - git checkout master ; handle_gitignore_and_filter; - save_script_and_create_tag ${master_rev} -) - - -rm -f ${GIT_CLEANUP} - -## Debugging section -# -# Use the following scripts to check if the conversion went according to plan -# -# (1) To generate a list of authors -# -# !/usr/bin/env bash -# -# for i in dune-*; do -# ( -# cd $i; -# git log --format=tformat:'%an <%ae>'; -# ); -# done | perl -e ' -# use 5.018; -# my %a; -# while (<>) { -# chomp; $a{$_}++; -# }; -# while (each %a) { -# printf "%d\t%s\n", $a{$_}, $_; -# } -# ' | sort -n -# -# (2) To generate a list of converted branches -# -# !/usr/bin/env bash -# -# for i in dune-*; do -# ( -# cd $i; -# echo $i; -# git for-each-ref --format=' %(refname)' refs/heads; -# ); -# done