Skip to contentSkip to conversation

get_maintainer: handle file names beginning with ./

PATCH In review Dan Carpenter 2 participants 6 messages Jan 8, 2016 GET_MAINTAINER script

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 get_maintainer: handle file names beginning with ./

The problem is that get_maintainer.pl doesn't work if you have a ./ prefix on the filename. For example, if you type:

./scripts/get_maintainer.pl -f ./drivers/usb/usb-skeleton.c

then the current code only includes LKML and people from the git log, it doesn't include Greg or the linux-usb list.

scripts/get_maintainer.pl +2 -0
index cab641a..41cfe59 100755
@@ -605,6 +605,8 @@ sub get_maintainers {
 
     foreach my $file (@files) {
 
+	$file =~ s/^\.\///;
+
 	my %hash;
 	my $tvi = find_first_section();
 	while ($tvi < @typevalue) {
maintainer
#1 lore raw
Quoted 4 lines · Dan Carpenter

The problem is that get_maintainer.pl doesn't work if you have a ./ prefix on the filename.  For example, if you type:

    ./scripts/get_maintainer.pl -f ./drivers/usb/usb-skeleton.c

Someone's been feeding find output to get_maintainer?

Then maybe you'd also have to consider fully qualified file names, tilde expansion, $PWD, and probably a bunch of other things too.

#2 lore raw
Quoted 7 lines · Joe Perches
Quoted 4 lines · Dan Carpenter

The problem is that get_maintainer.pl doesn't work if you have a ./ prefix on the filename.  For example, if you type:

    ./scripts/get_maintainer.pl -f ./drivers/usb/usb-skeleton.c

Someone's been feeding find output to get_maintainer?

Yep.

Quoted 4 lines

Then maybe you'd also have to consider fully qualified file names, tilde expansion, $PWD, and probably a bunch of other things too.

I don't think you'd "have" to consider those as well, but I won't stand in your way if you want to...

regards,
dan carpenter

maintainer
#3 lore raw
Quoted 10 lines · Dan Carpenter
Quoted 7 lines · Joe Perches
Quoted 4 lines · Dan Carpenter

The problem is that get_maintainer.pl doesn't work if you have a ./ prefix on the filename.  For example, if you type:

    ./scripts/get_maintainer.pl -f ./drivers/usb/usb-skeleton.c

Someone's been feeding find output to get_maintainer?

Yep.

So strip the leading './' before using it.

Also, if you're looking for unmaintained files,
I think have a script for that too.

Quoted 6 lines
Quoted 3 lines

Then maybe you'd also have to consider fully qualified file names, tilde expansion, $PWD, and probably a bunch of other things too.

I don't think you'd "have" to consider those as well, but I won't stand in your way if you want to...

Half measures aren't generally good enough.

Using a combination of CWnd abs_fast_path and $lk_path is probably better.  $lkpath is set to './' by default.

#4 lore raw
Quoted 9 lines · Joe Perches
Quoted 6 lines
Quoted 3 lines

Then maybe you'd also have to consider fully qualified file names, tilde expansion, $PWD, and probably a bunch of other things too.

I don't think you'd "have" to consider those as well, but I won't stand in your way if you want to...

Half measures aren't generally good enough.

Those are fake issues though and I can't imagine how they would affect anyone. My issue was super annoying for me because I was sending find output to a script and it was almost mailing the correct people because it was using git output. I had to debug for a long time before I spotted the difference between ./drivers/media/radio/wl128x/fmdrv_common.c and drivers/media/radio/wl128x/fmdrv_common.c.

I feel like I have seen this before and just manually added the correct mailing lists back. It's crazy annoying and easy to do.

Quoted 2 lines

Using a combination of CWnd abs_fast_path and $lk_path is probably better.  $lkpath is set to './' by default.

I have no idea what this means... It sounds like a good idea though. :) Please give me Reported-by credit.

regards,
dan carpenter

maintainer
#5 lore raw
Quoted 18 lines · Dan Carpenter
Quoted 9 lines · Joe Perches
Quoted 6 lines
Quoted 3 lines

Then maybe you'd also have to consider fully qualified file names, tilde expansion, $PWD, and probably a bunch of other things too.

I don't think you'd "have" to consider those as well, but I won't stand in your way if you want to...

Half measures aren't generally good enough.

Those are fake issues though and I can't imagine how they would affect anyone.  My issue was super annoying for me because I was sending find output to a script and it was almost mailing the correct people because it was using git output.  I had to debug for a long time before I spotted the difference between ./drivers/media/radio/wl128x/fmdrv_common.c and drivers/media/radio/wl128x/fmdrv_common.c.

Quoted 9 lines

I feel like I have seen this before and just manually added the correct mailing lists back.  It's crazy annoying and easy to do.

Quoted 2 lines

Using a combination of CWnd abs_fast_path and $lk_path is probably better.  $lkpath is set to './' by default.

I have no idea what this means...  It sounds like a good idea though. :)  Please give me Reported-by credit.

Maybe this (probably won't apply because I still haven't converted from Evolution to something that doesn't futz up sending text emails)

---
 scripts/get_maintainer.pl | 4 ++++

 1 file changed, 4 insertions(+)
scripts/get_maintainer.pl +0 -0
index cab641a..1873421 100755
@@ -16,7 +16,9 @@ my $P = $0;

 my $V = '0.26';

 use Getopt::Long qw(:config no_auto_abbrev);
+use Cwd;

+my $cur_path = fastgetcwd() . '/';
 my $lk_path = "./";
 my $email = 1;
 my $email_usename = 1;
@@ -429,6 +431,8 @@ foreach my $file (@ARGV) {
  }
     }
     if ($from_filename) {
+ $file =~ s/^\Q${cur_path}\E//; #strip any absolute path
+ $file =~ s/^\Q${lk_path}\E//; #or the path to the lk tree
  push(@files, $file);
  if ($file ne "MAINTAINERS" && -f $file && ($keywords || $file_emails)) { open(my $f, '<', $file)