Merge tag 'fuse-update-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[sfrench/cifs-2.6.git] / scripts / documentation-file-ref-check
index ad9db6821824392d293716107b843573c85145d6..63e9542656f1d93d8e01a74656ca9ff06efdda1e 100755 (executable)
@@ -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);