#!/bin/sh

svn_uri=svn://svn.alpinelinux.org/acf
repos=$(svn ls $svn_uri)

for i in $repos; do
	repo=${i%/}
	gitrepo=acf-${repo%/}.git
	if [ -d $gitrepo ]; then
		continue
	fi

	echo ">>> migrating $repo..."
	if ! [ -d $repo ]; then
		if ! git svn clone $svn_uri/$repo --stdlayout -A users.txt; then
			echo ">>> $repo failed"
			echo "$repo" >> err.log
			continue
		fi
	fi
	( cd $repo


	for i in $(ls -r -t .git/refs/remotes/tags/release-*); do
		commit=$(cat $i) || continue
		rel=${i##*release-}
		tag=v$rel
		git tag -d $tag
		git tag -a -m"Autotagging release $rel" $tag ${commit}

		# this stupid little thingy is so the tags get different
		# timestamps
		sleep 1
	done
	)
	git clone --mirror $repo $gitrepo
done

