diff options
author | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-04-24 12:25:33 -0400 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2019-05-03 08:45:22 -0400 |
commit | 894ee5ff83335659da5fc4a4b1f41fa246f32d1a (patch) | |
tree | 22a0e9212e1be78029b4548fc665d463c0b33eef /scripts | |
parent | fe3e4b9c6364d3aa69eb30f44d1a44bc90f99924 (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-x | scripts/documentation-file-ref-check | 29 |
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 | ||
31 | my %broken_ref; | 31 | my %broken_ref; |
32 | 32 | ||
33 | my $doc_fix = 0; | ||
34 | |||
35 | open IN, "git grep ':doc:\`' Documentation/|" | ||
36 | or die "Failed to run git grep"; | ||
37 | while (<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 | } | ||
59 | close IN; | ||
60 | |||
33 | open IN, "git grep 'Documentation/'|" | 61 | open IN, "git grep 'Documentation/'|" |
34 | or die "Failed to run git grep"; | 62 | or die "Failed to run git grep"; |
35 | while (<IN>) { | 63 | while (<IN>) { |
@@ -103,6 +131,7 @@ while (<IN>) { | |||
103 | } | 131 | } |
104 | } | 132 | } |
105 | } | 133 | } |
134 | close IN; | ||
106 | 135 | ||
107 | exit 0 if (!$fix); | 136 | exit 0 if (!$fix); |
108 | 137 | ||