summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-04-24 12:25:33 -0400
committerJonathan Corbet <corbet@lwn.net>2019-05-03 08:45:22 -0400
commit894ee5ff83335659da5fc4a4b1f41fa246f32d1a (patch)
tree22a0e9212e1be78029b4548fc665d463c0b33eef /scripts
parentfe3e4b9c6364d3aa69eb30f44d1a44bc90f99924 (diff)
scripts/documentation-file-ref-check: detect broken :doc:`foo`
As we keep migrating documents to ReST, we're starting to see more of such tags. Right now, all such tags are pointing to a documentation file, but regressions may be introduced. So, add a check for such kind of issues as well. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/documentation-file-ref-check29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/documentation-file-ref-check b/scripts/documentation-file-ref-check
index bd7d9ab63941..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);
30 30
31my %broken_ref; 31my %broken_ref;
32 32
33my $doc_fix = 0;
34
35open IN, "git grep ':doc:\`' Documentation/|"
36 or die "Failed to run git grep";
37while (<IN>) {
38 next if (!m,^([^:]+):.*\:doc\:\`([^\`]+)\`,);
39
40 my $d = $1;
41 my $doc_ref = $2;
42
43 my $f = $doc_ref;
44
45 $d =~ s,(.*/).*,$1,;
46 $f =~ s,.*\<([^\>]+)\>,$1,;
47
48 $f ="$d$f.rst";
49
50 next if (grep -e, glob("$f"));
51
52 if ($fix && !$doc_fix) {
53 print STDERR "\nWARNING: Currently, can't fix broken :doc:`` fields\n";
54 }
55 $doc_fix++;
56
57 print STDERR "$f: :doc:`$doc_ref`\n";
58}
59close IN;
60
33open IN, "git grep 'Documentation/'|" 61open IN, "git grep 'Documentation/'|"
34 or die "Failed to run git grep"; 62 or die "Failed to run git grep";
35while (<IN>) { 63while (<IN>) {
@@ -103,6 +131,7 @@ while (<IN>) {
103 } 131 }
104 } 132 }
105} 133}
134close IN;
106 135
107exit 0 if (!$fix); 136exit 0 if (!$fix);
108 137