From a6762aa1bbdbf360cb14732d2a108ac75b26b8ca Mon Sep 17 00:00:00 2001 From: Tim Su Date: Tue, 23 Dec 2008 06:10:24 +0000 Subject: [PATCH] Initial directory structure. --- bzrtogit.sh | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 bzrtogit.sh diff --git a/bzrtogit.sh b/bzrtogit.sh new file mode 100644 index 000000000..64c3fb7b6 --- /dev/null +++ b/bzrtogit.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# BzrToGit - SCM migration tool for going from bzr to git +# Copyright (C) 2009 Henrik Nilsson +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License, version 3, as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +keepbzr="no" +for x in $@; do + if [ "$x" = "--keepbzr" ]; then keepbzr="yes" + elif [ "$x" = "--help" ]; then + echo "--keepbzr = Keep the .bzr directory so that it can still be used by bazaar" + echo "--help = Display this list" + exit + else echo "${x}: unknown argument, type --help to see available arguments"; exit 1; fi +done + +rev=1 +git init +while bzr revert -r revno:$rev 2> /dev/null; do + logentry="`bzr log -r $rev`" + committer="`echo "$logentry" | sed -n -e "/^committer:/{s/^committer: //;p;}"`" + timestamp="`echo "$logentry" | sed -n -e "/^timestamp:/{s/^timestamp: //;p;}"`" + export GIT_AUTHOR_DATE="$timestamp" + msg=`echo "$logentry" | sed -e "1,/^message:/d"` + committer_name=`echo "$committer" | sed -e "s/ *<[^<]*\$//;"` + committer_email=`echo "$committer" | sed -e "s/.*//;"` + + if [ "$committer_email" == "tim@todoroo.com" -o \ + "$committer_email" == "dev.astrid" -o \ + "$committer_email" == "timsu@global" -o \ + "$committer_email" == "timsu@ayumi" -o \ + "$committer_email" == "timsu@betaful.com" ]; then + committer_name="Tim Su" + committer_email="tim@todoroo.com" + echo ts hack + fi + + git config user.name "$committer_name" + git config user.email "$committer_email" + ls -a1 | while read x; do + if [ "$x" != ".bzr" ] && [ "$x" != "." ] && [ "$x" != ".." ]; then git add "$x"; fi + done + git commit -a -m "$msg" +# --author="$committer" + let rev+=1 +done + +[ "$keepbzr" != "yes" ] && rm -r .bzr