summaryrefslogtreecommitdiff
path: root/Documentation/cat-texi.perl
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2007-12-10 01:15:57 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-12-10 01:36:13 -0800
commit5cefc33bffd3580d07ca548bc8e2ff38c945c78c (patch)
tree936deb73b9321e750013f6a1476b045b4df2fb6e /Documentation/cat-texi.perl
parentMerge branch 'master' into cc/help (diff)
downloadtgif-5cefc33bffd3580d07ca548bc8e2ff38c945c78c.tar.xz
Documentation: add gitman.info target
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/cat-texi.perl')
-rwxr-xr-xDocumentation/cat-texi.perl38
1 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/cat-texi.perl b/Documentation/cat-texi.perl
new file mode 100755
index 0000000000..e3d8e9faa8
--- /dev/null
+++ b/Documentation/cat-texi.perl
@@ -0,0 +1,38 @@
+#!/usr/bin/perl -w
+
+my @menu = ();
+my $output = $ARGV[0];
+
+open TMP, '>', "$output.tmp";
+
+while (<STDIN>) {
+ next if (/^\\input texinfo/../\@node Top/);
+ next if (/^\@bye/ || /^\.ft/);
+ if (s/^\@top (.*)/\@node $1,,,Top/) {
+ push @menu, $1;
+ }
+ s/\(\@pxref{\[URLS\]}\)//;
+ print TMP;
+}
+close TMP;
+
+printf '\input texinfo
+@setfilename gitman.info
+@documentencoding us-ascii
+@node Top,,%s
+@top Git Manual Pages
+@documentlanguage en
+@menu
+', $menu[0];
+
+for (@menu) {
+ print "* ${_}::\n";
+}
+print "\@end menu\n";
+open TMP, '<', "$output.tmp";
+while (<TMP>) {
+ print;
+}
+close TMP;
+print "\@bye\n";
+unlink "$output.tmp";