diff options
Diffstat (limited to 'scripts/documentation-file-ref-check')
| -rwxr-xr-x | scripts/documentation-file-ref-check | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/scripts/documentation-file-ref-check b/scripts/documentation-file-ref-check index ad9db6821824..63e9542656f1 100755 --- a/scripts/documentation-file-ref-check +++ b/scripts/documentation-file-ref-check @@ -30,6 +30,34 @@ print "Finding broken references. This may take a while...  " if ($fix);  my %broken_ref; +my $doc_fix = 0; + +open IN, "git grep ':doc:\`' Documentation/|" +     or die "Failed to run git grep"; +while (<IN>) { +	next if (!m,^([^:]+):.*\:doc\:\`([^\`]+)\`,); + +	my $d = $1; +	my $doc_ref = $2; + +	my $f = $doc_ref; + +	$d =~ s,(.*/).*,$1,; +	$f =~ s,.*\<([^\>]+)\>,$1,; + +	$f ="$d$f.rst"; + +	next if (grep -e, glob("$f")); + +	if ($fix && !$doc_fix) { +		print STDERR "\nWARNING: Currently, can't fix broken :doc:`` fields\n"; +	} +	$doc_fix++; + +	print STDERR "$f: :doc:`$doc_ref`\n"; +} +close IN; +  open IN, "git grep 'Documentation/'|"       or die "Failed to run git grep";  while (<IN>) { @@ -38,6 +66,9 @@ while (<IN>) {  	my $f = $1;  	my $ln = $2; +	# On linux-next, discard the Next/ directory +	next if ($f =~ m,^Next/,); +  	# Makefiles and scripts contain nasty expressions to parse docs  	next if ($f =~ m/Makefile/ || $f =~ m/\.sh$/); @@ -100,6 +131,7 @@ while (<IN>) {  		}  	}  } +close IN;  exit 0 if (!$fix); |