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