#!/bin/sh

REPO=/cvsroot/bitweaver/_bit_styles/
PWD=`pwd`

for i in `ls $REPO` ; do
    if [ "$i" != "Attic" ] ; then
    ORIGDIR=$i
    `echo $i | grep _bit > /dev/null;`
    if [ $? -eq 0 ] ; then
      BIT_DIR=1;
    else
      BIT_DIR=0;
    fi
    SUBDIR=`echo $i | sed 's/_bit_//' | sed 's/_\([a-z]\)/\1/'`
    OUTPUT_DIR=bitweaver/$SUBDIR
    echo "Processing $SUBDIR into $OUTPUT_DIR"
    
    echo "Loading git into $OUTPUT_DIR"
    if [ -d $SUBDIR ] ; then
	rm -rf $SUBDIR
    fi
    if [ -d $OUTPUT_DIR ] ;
	then
	rm -rf $OUTPUT_DIR
    fi
    mkdir -p $OUTPUT_DIR
    cp cvs2git-example.options cvs2git.options
    echo "run_options.set_project(
		r'$REPO/$ORIGDIR',
		symbol_transforms=[
			ReplaceSubstringsSymbolTransform('\\\\','/'),
			NormalizePathsSymbolTransform(),
		],
		symbol_strategy_rules=global_symbol_strategy_rules,
	)" >> cvs2git.options
    /bwgit/cvs2svn-2.3.0/cvs2git --options cvs2git.options
    cd $OUTPUT_DIR
    git init
    git fast-import --export-marks=git-marks.dat < ../../cvs2svn-tmp/git-blob.dat
    git fast-import --import-marks=git-marks.dat < ../../cvs2svn-tmp/git-dump.dat
    rm git-marks.dat 
    git tag CVS_HEAD HEAD
    git tag -d HEAD
    git reset --hard
    for i in `find . -name "*.php" -or -name "*.tpl"` ; 
    do
	perl -pe 's/\$(Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State):.*\$/\$\1\$/' $i > $i.new
	mv $i.new $i
    done
    git commit -a -m "Strip down CVS keywords." --author="cvs2git <cvs2git@bitweaver.org>"
    cd ../..
#    rm -rf cvs2svn-tmp cvs2git.options
    fi
done

# rm cvs2git-example.options