3 base
=$HOME/things
/Adns
/Cvs-Convert
9 if ! test -d
$tmp/git-cvsi
; then
12 git cvsimport
-d
`pwd`/cvs-repo
-C tmp
/git-cvsi.new
-k
-p
--norc adns
13 mv tmp
/git-cvsi.new tmp
/git-cvsi
17 rsync
-aH
--delete git-cvsi
/. adjust
21 local oldbranchname
=$1
23 git tag
$newtagname $oldbranchname
24 git branch
-D
$oldbranchname
28 # these two together unconditionally delete the tag if it exists
29 git tag
-f
$tagname master
32 abandondatedbranch
() {
36 if [ "x$newdesc" = x
]; then newdesc
=$olddesc; fi
37 abandonbranch branch-
$date-$olddesc abandon.
$date.
$newdesc
38 ensurenotag branchpoint-
$date-$olddesc master
43 local branchname
=branch-
$desc
45 local branchtip
=`git rev-parse $branchname~0`
46 local oldparents
=`git log -n1 --pretty=format:%P $mergecommit`
47 cat <<END >>.git/info/grafts
48 $2 $oldparents $branchtip
50 git branch
-D
$branchname
51 ensurenotag mergepoint-
$desc
52 ensurenotag branchpoint-
$desc
55 abandonbranch branch-rrtypenoenum abandon
.1998-10-04.rrtypenoenum
56 abandondatedbranch
1999-04-10 mthread multithread
57 abandondatedbranch
1999-04-11 ipv6
59 abandondatedbranch
2000-05-07 ipv6
60 abandonbranch branch-0-7-inftodebug abandon
.2000-03-26.infotodebug-0.7
62 graftmergein logcallbackfn
741a795cdaa539b48f83afbc0ac8e471543b9bf6
63 graftmergein
1999-05-09-gplvslgpl e7cf3a99e5829bf53a9f36e08769787a78261045
64 graftmergein
1999-04-11-pollfds f889c99835eec14dacda4b18da0636911dcd8cbc
66 xargs git tag
-d
<<END
77 scr
=cvs-to-git-conversion-script
78 cp $base/script/convert
$scr
80 git commit
-m
"$scr: record the script
82 Record the script we used to convert the CVS repo to git"
84 git commit
-m
"$scr: delete the script
86 We have in fact done the conversion and don't need the script any more."
89 git tag cvs-to-git-conversion
91 cat >$tmp/msg-filter
<<'FEND'
95 if ($out =~ m/^\@\@/s &&
96 ($out =~ m/^\+(?!u?adns).*\w.*$/m ||
97 $out =~ m/^\-(?!u?adns).*\w.*$/m)) {
98 print $&, "\n\n" or die $!;
100 print $out or die $!;
104 chmod +x
$tmp/msg-filter
106 git filter-branch
--msg-filter
$tmp/msg-filter \
107 `git show-ref | awk '{print $2}'`
109 git show-ref |
awk '{print $2}' |
grep '^refs/original/' \
110 |
xargs -n1 git update-ref
-d
112 rm -rf
$tmp/converted
116 git fetch
-u
$tmp/adjust
'refs/*:refs/*'