Merge branch 'jn/gitweb-blame'
[git] / Documentation / cat-texi.perl
1 #!/usr/bin/perl -w
2
3 my @menu = ();
4 my $output = $ARGV[0];
5
6 open TMP, '>', "$output.tmp";
7
8 while (<STDIN>) {
9         next if (/^\\input texinfo/../\@node Top/);
10         next if (/^\@bye/ || /^\.ft/);
11         if (s/^\@top (.*)/\@node $1,,,Top/) {
12                 push @menu, $1;
13         }
14         s/\(\@pxref{\[(URLS|REMOTES)\]}\)//;
15         print TMP;
16 }
17 close TMP;
18
19 printf '\input texinfo
20 @setfilename gitman.info
21 @documentencoding UTF-8
22 @dircategory Development
23 @direntry
24 * Git Man Pages: (gitman).  Manual pages for Git revision control system
25 @end direntry
26 @node Top,,, (dir)
27 @top Git Manual Pages
28 @documentlanguage en
29 @menu
30 ', $menu[0];
31
32 for (@menu) {
33         print "* ${_}::\n";
34 }
35 print "\@end menu\n";
36 open TMP, '<', "$output.tmp";
37 while (<TMP>) {
38         print;
39 }
40 close TMP;
41 print "\@bye\n";
42 unlink "$output.tmp";