Previous Entry Share Next Entry
Переезд на Git
octo47
В целом пока еще рано что-то говорить, но предварительно у этой системы пока не видно недостатков, кроме проблем с переносом строки при коросплатформенной разработке. Решается autocrlf, но осадочек остался :).

Ну и собственно скрипт, помогающий мигрировать из svn в git.


SVNREPO=file:///srv/svn/projects
USERSFILE=/srv/git/etc/users.txt
if [ "x$1" = "x" ]; then
echo "usage: importsvn.sh path-in-svn-repo
"
exit 1;
fi
if [ "x$2" = "x" ]; then
tgtdir=$1
else
tgtdir=$2
fi
mkdir -p $tgtdir
git svn --no-metadata --authors-file=$USERSFILE clone -s $SVNREPO/$1 $tgtdir
pushd $tgtdir
git branch -r | sed -rne 's, *tags/([^@]+)$,\1,p' | while read tag; do echo "git tag $tag 'tags/${tag}^'; git branch -r -d tags/$tag"; done | sh
git branch -r | grep -v tags |grep -v trunk| sed -rne 's, *([^@]+)$,\1,p' | while read branch; do echo "git branch $branch $branch"; done | sh
git repack -d -f -a --depth=50 --window=100
git config --remove-section svn-remote.svn
git config --remove-section svn
rm -r svn
repopath="file://`pwd`"
popd
echo "You can make repository bare: git clone --bare $repopath ${tgtdir}.git"




?

Log in