====== SVN to Git Conversion Process ====== ===== Username conversion ===== Using the script at http://www.undefinedfire.com/lab/changing-existing-git-authors/ as a basis, generated the following shell script: #!/bin/sh if [ "$GIT_AUTHOR_NAME" = "nuclear_eclipse" ]; then export GIT_AUTHOR_EMAIL="jreese@leetcode.net" export GIT_AUTHOR_NAME="John Reese" .... elif [ "$GIT_AUTHOR_NAME" = "(no author)" ]; then export GIT_AUTHOR_EMAIL="unknown@users.sourceforge.net" export GIT_AUTHOR_NAME="Unknown" else export GIT_AUTHOR_EMAIL="$GIT_AUTHOR_NAME@users.sourceforge.net" fi export GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL export GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME Then used ''git-filter-branch'' to update the entire repository history with new author details. All authors not specifically handled in the script maintained the current author name, but was given a "@users.sourceforge.net" email instead of the default hash assigned by ''git-svn''. $ git filter-branch --tag-name-filter cat --env-filter '. ~/__git-new-authors-shell' -- --all