• Joe Perches's avatar
    get_maintainer: fix unexpected behavior for path/to//file (double slashes) · e33c9fe8
    Joe Perches authored
    get_maintainer behaves differently if there is a double sequential forward
    slash in a filename because the total number of slashes in a filename is
    used to match MAINTAINERS file patterns.
    
    For example:
    
    (with double slash)
      $ ./scripts/get_maintainer.pl -f drivers/gpu/drm//lima
      David Airlie <airlied@linux.ie> (maintainer:DRM DRIVERS)
      Daniel Vetter <daniel@ffwll.ch> (maintainer:DRM DRIVERS,commit_signer:3/42=7%)
      Qiang Yu <yuq825@gmail.com> (commit_signer:36/42=86%,authored:24/42=57%)
      Vasily Khoruzhick <anarsoul@gmail.com> (commit_signer:26/42=62%)
      Krzysztof Kozlowski <krzk@kernel.org> (commit_signer:5/42=12%,authored:5/42=12%)
      Emil Velikov <emil.velikov@collabora.com> (commit_signer:4/42=10%)
      dri-devel@lists.freedesktop.org (open list:DRM DRIVERS)
      linux-kernel@vger.kernel.org (open list)
    
    (without double slash)
      $ ./scripts/get_maintainer.pl -f drivers/gpu/drm/lima
      Qiang Yu <yuq825@gmail.com> (maintainer:DRM DRIVERS FOR LIMA)
      David Airlie <airlied@linux.ie> (maintainer:DRM DRIVERS)
      Daniel Vetter <daniel@ffwll.ch> (maintainer:DRM DRIVERS)
      dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR LIMA)
      lima@lists.freedesktop.org (moderated list:DRM DRIVERS FOR LIMA)
      linux-kernel@vger.kernel.org (open list)
    
    So reduce consecutive double slashes to a single slash
    by using File::Spec->canonpath().
    
    from: https://perldoc.perl.org/File/Spec/Unix.html
    
    canonpath()
    
    No physical check on the filesystem, but a logical cleanup of a path.  On
    UNIX eliminates successive slashes and successive "/.".
    Reported-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
    Signed-off-by: default avatarJoe Perches <joe@perches.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Link: http://lkml.kernel.org/r/9a18b611813bb409fef15bc8927adab79eb9be43.camel@perches.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e33c9fe8
get_maintainer.pl 67 KB