set_git_dir: handle feeding gitdir to itself
[git.git] / Documentation / cat-texi.perl
blob14d2f834151712fa84e13209a65f0f7121b49dd7
1 #!/usr/bin/perl -w
3 use strict;
4 use warnings;
6 my @menu = ();
7 my $output = $ARGV[0];
9 open my $tmp, '>', "$output.tmp";
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;
17 s/\(\@pxref\{\[(URLS|REMOTES)\]}\)//;
18 s/\@anchor\{[^{}]*\}//g;
19 print $tmp $_;
21 close $tmp;
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
36 for (@menu) {
37 print "* ${_}::\n";
39 print "\@end menu\n";
40 open $tmp, '<', "$output.tmp";
41 while (<$tmp>) {
42 print;
44 close $tmp;
45 print "\@bye\n";
46 unlink "$output.tmp";