Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
		
						commit
						1b593e1ea4
					
				
					 3629 changed files with 1139935 additions and 0 deletions
				
			
		
							
								
								
									
										78
									
								
								Documentation/cmd-list.perl
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										78
									
								
								Documentation/cmd-list.perl
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
#!/usr/bin/perl -w
 | 
			
		||||
 | 
			
		||||
use File::Compare qw(compare);
 | 
			
		||||
 | 
			
		||||
sub format_one {
 | 
			
		||||
	my ($out, $nameattr) = @_;
 | 
			
		||||
	my ($name, $attr) = @$nameattr;
 | 
			
		||||
	my ($state, $description);
 | 
			
		||||
	$state = 0;
 | 
			
		||||
	open I, '<', "$name.txt" or die "No such file $name.txt";
 | 
			
		||||
	while (<I>) {
 | 
			
		||||
		if (/^NAME$/) {
 | 
			
		||||
			$state = 1;
 | 
			
		||||
			next;
 | 
			
		||||
		}
 | 
			
		||||
		if ($state == 1 && /^----$/) {
 | 
			
		||||
			$state = 2;
 | 
			
		||||
			next;
 | 
			
		||||
		}
 | 
			
		||||
		next if ($state != 2);
 | 
			
		||||
		chomp;
 | 
			
		||||
		$description = $_;
 | 
			
		||||
		last;
 | 
			
		||||
	}
 | 
			
		||||
	close I;
 | 
			
		||||
	if (!defined $description) {
 | 
			
		||||
		die "No description found in $name.txt";
 | 
			
		||||
	}
 | 
			
		||||
	if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
 | 
			
		||||
		print $out "linkgit:$name\[1\]::\n\t";
 | 
			
		||||
		if ($attr =~ / deprecated /) {
 | 
			
		||||
			print $out "(deprecated) ";
 | 
			
		||||
		}
 | 
			
		||||
		print $out "$text.\n\n";
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		die "Description does not match $name: $description";
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
while (<>) {
 | 
			
		||||
	last if /^### command list/;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my %cmds = ();
 | 
			
		||||
for (sort <>) {
 | 
			
		||||
	next if /^#/;
 | 
			
		||||
 | 
			
		||||
	chomp;
 | 
			
		||||
	my ($name, $cat, $attr) = /^(\S+)\s+(.*?)(?:\s+(.*))?$/;
 | 
			
		||||
	$attr = '' unless defined $attr;
 | 
			
		||||
	push @{$cmds{$cat}}, [$name, " $attr "];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
for my $cat (qw(ancillaryinterrogators
 | 
			
		||||
		ancillarymanipulators
 | 
			
		||||
		mainporcelain
 | 
			
		||||
		plumbinginterrogators
 | 
			
		||||
		plumbingmanipulators
 | 
			
		||||
		synchingrepositories
 | 
			
		||||
		foreignscminterface
 | 
			
		||||
		purehelpers
 | 
			
		||||
		synchelpers)) {
 | 
			
		||||
	my $out = "cmds-$cat.txt";
 | 
			
		||||
	open O, '>', "$out+" or die "Cannot open output file $out+";
 | 
			
		||||
	for (@{$cmds{$cat}}) {
 | 
			
		||||
		format_one(\*O, $_);
 | 
			
		||||
	}
 | 
			
		||||
	close O;
 | 
			
		||||
 | 
			
		||||
	if (-f "$out" && compare("$out", "$out+") == 0) {
 | 
			
		||||
		unlink "$out+";
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		print STDERR "$out\n";
 | 
			
		||||
		rename "$out+", "$out";
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue