File: migrate-svn-git

package info (click to toggle)
sysvinit 3.15-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,900 kB
  • sloc: ansic: 8,530; sh: 3,827; makefile: 351
file content (34 lines) | stat: -rwxr-xr-x 848 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh
#
# Script to migrate sysvinit project source code from subversion to git.
# Used february 2018.

authorsmap=$(tempfile)
cat > $authorsmap <<EOF
pere = Petter Reinholdtsen <pere@hungry.com>
wfink = Werner Fink <werner@suse.de>
EOF

for p in sysvinit startpar insserv; do
    git svn clone http://svn.savannah.nongnu.org/svn/sysvinit/$p \
	--authors-file=$authorsmap \
	--no-metadata \
	--tags=tags \
	--trunk=trunk \
	--prefix=$p/ \
	$p-git

    (
	cd $p-git
	for tag in `git branch -r | grep "tags/" | sed "s/ $p\/tags\///"`; do
            git tag -a -m"Converting SVN tags" $tag refs/remotes/$p/tags/$tag
	done
        if [ "sysvinit" = "$p" ]; then
            remote=$p.git
        else
            remote=sysvinit/$p.git
        fi
        git remote add origin ssh://git.savannah.gnu.org:/srv/git/$remote
    )
done
rm $authorsmap