scripts/documentation-file-ref-check: better handle translations
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 29 May 2019 23:09:27 +0000 (20:09 -0300)
committerJonathan Corbet <corbet@lwn.net>
Thu, 30 May 2019 16:40:24 +0000 (10:40 -0600)
Only seek for translation renames inside the translation
directory.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/documentation-file-ref-check

index 63e9542656f1d93d8e01a74656ca9ff06efdda1e..6b622b88f4cfab49217401ed8b1cd2bc186bd89f 100755 (executable)
@@ -141,6 +141,10 @@ print "Auto-fixing broken references. Please double-check the results\n";
 foreach my $ref (keys %broken_ref) {
        my $new =$ref;
 
+       my $basedir = ".";
+       # On translations, only seek inside the translations directory
+       $basedir  = $1 if ($ref =~ m,(Documentation/translations/[^/]+),);
+
        # get just the basename
        $new =~ s,.*/,,;
 
@@ -161,18 +165,18 @@ foreach my $ref (keys %broken_ref) {
        # usual reason for breakage: file renamed to .rst
        if (!$f) {
                $new =~ s/\.txt$/.rst/;
-               $f=qx(find . -iname $new) if ($new);
+               $f=qx(find $basedir -iname $new) if ($new);
        }
 
        # usual reason for breakage: use dash or underline
        if (!$f) {
                $new =~ s/[-_]/[-_]/g;
-               $f=qx(find . -iname $new) if ($new);
+               $f=qx(find $basedir -iname $new) if ($new);
        }
 
        # Wild guess: seek for the same name on another place
        if (!$f) {
-               $f = qx(find . -iname $new) if ($new);
+               $f = qx(find $basedir -iname $new) if ($new);
        }
 
        my @find = split /\s+/, $f;