|
@@ -34,6 +34,7 @@ Commands:
|
|
|
[--add] <file> add a diversion.
|
|
[--add] <file> add a diversion.
|
|
|
--remove <file> remove the diversion.
|
|
--remove <file> remove the diversion.
|
|
|
--list [<glob-pattern>] show file diversions.
|
|
--list [<glob-pattern>] show file diversions.
|
|
|
|
|
+ --listpackage <file> show what package diverts the file.
|
|
|
--truename <file> return the diverted file.
|
|
--truename <file> return the diverted file.
|
|
|
|
|
|
|
|
Options:
|
|
Options:
|
|
@@ -102,6 +103,9 @@ while (@ARGV) {
|
|
|
} elsif (m/^--list$/) {
|
|
} elsif (m/^--list$/) {
|
|
|
&checkmanymodes;
|
|
&checkmanymodes;
|
|
|
$mode= 'list';
|
|
$mode= 'list';
|
|
|
|
|
+ } elsif (m/^--listpackage$/) {
|
|
|
|
|
+ &checkmanymodes;
|
|
|
|
|
+ $mode= 'listpackage';
|
|
|
} elsif (m/^--truename$/) {
|
|
} elsif (m/^--truename$/) {
|
|
|
&checkmanymodes;
|
|
&checkmanymodes;
|
|
|
$mode= 'truename';
|
|
$mode= 'truename';
|
|
@@ -213,6 +217,21 @@ if ($mode eq 'add') {
|
|
|
}
|
|
}
|
|
|
print $file, "\n";
|
|
print $file, "\n";
|
|
|
exit(0);
|
|
exit(0);
|
|
|
|
|
+} elsif ($mode eq 'listpackage') {
|
|
|
|
|
+ @ARGV == 1 || &badusage(sprintf(_g("--%s needs a single argument"), $mode));
|
|
|
|
|
+ $file= $ARGV[0];
|
|
|
|
|
+ for (my $i = 0; $i <= $#contest; $i++) {
|
|
|
|
|
+ next unless $file eq $contest[$i];
|
|
|
|
|
+ if ($package[$i] eq ':') {
|
|
|
|
|
+ # indicate package is local using something not in package namespace
|
|
|
|
|
+ print "LOCAL\n";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ print $package[$i], "\n";
|
|
|
|
|
+ }
|
|
|
|
|
+ exit(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ # print nothing if file is not diverted
|
|
|
|
|
+ exit(0);
|
|
|
} else {
|
|
} else {
|
|
|
&quit(sprintf(_g("internal error - bad mode \`%s'"), $mode));
|
|
&quit(sprintf(_g("internal error - bad mode \`%s'"), $mode));
|
|
|
}
|
|
}
|