5 system('mkdir doc') && die;
9 $password = qx(perl -F= -lane 'print \$F[1] if (\$F[0] eq "password")' \\
10 /mit/sipb-www/.my.cnf);
12 $dbh = DBI->connect('DBI:mysql:sipb-www+doc;host=sql.mit.edu',
13 'sipb-www', $password) or die;
14 $rows = $dbh->selectall_arrayref('SELECT * FROM wiki', {Slice=>{}});
15 foreach $row (@$rows) {
16 next if $row->{author} eq 'trac';
17 print "Processing revision $row->{version} of $row->{name} by $row->{author}...";
19 ($text = $row->{text}) =~ s/\r\n/\n/g;
21 $pid = open2(OUT, IN, qw(git hash-object -w --stdin));
27 $pid = open2(OUT, IN, qw(git mktree));
28 print IN `git ls-tree $head | grep -v $row->{name}` if $head;
29 print IN "100644 blob $blob\t$row->{name}\n";
34 $ENV{GIT_AUTHOR_NAME} = "$row->{author} via Trac";
35 $ENV{GIT_AUTHOR_EMAIL} = "$row->{author}\@mit.edu";
36 $ENV{GIT_AUTHOR_DATE} = $row->{time};
37 $pid = open2(OUT, IN, qw{git commit-tree}, $tree, $head ? ('-p', $head) : ());
38 print IN $row->{comment};
43 print "committed as $head.\n";
46 qx{git reset --hard $head};