1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

file2lastrev.rb: separate options for Output and VPath

So the `--srcdir` option in this file can override the same option in
`VPath`.
This commit is contained in:
Nobuyoshi Nakada 2022-11-02 11:37:54 +09:00
parent 60f12c7d2e
commit ac06951c31
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
3 changed files with 8 additions and 1 deletions

View file

@ -28,11 +28,13 @@ vcs = nil
OptionParser.new {|opts|
opts.banner << " paths..."
vcs_options = VCS.define_options(opts)
opts.new {@output.def_options(opts)}
srcdir = nil
opts.new
opts.on("--srcdir=PATH", "use PATH as source directory") do |path|
abort "#{File.basename(Program)}: srcdir is already set" if srcdir
srcdir = path
@output.vpath.add(srcdir)
end
opts.on("--changed", "changed rev") do
self.format = :changed
@ -53,7 +55,6 @@ OptionParser.new {|opts|
opts.on("-q", "--suppress_not_found") do
@suppress_not_found = true
end
@output.def_options(opts)
opts.order! rescue abort "#{File.basename(Program)}: #{$!}\n#{opts}"
begin
vcs = VCS.detect(srcdir || ".", vcs_options, opts.new)

View file

@ -10,6 +10,7 @@ class Output
end
def def_options(opt)
opt.separator(" Output common options:")
opt.on('-o', '--output=PATH') {|v| @path = v}
opt.on('-t', '--timestamp[=PATH]') {|v| @timestamp = v || true}
opt.on('-c', '--[no-]if-change') {|v| @ifchange = v}

View file

@ -53,6 +53,7 @@ class VPath
end
def def_options(opt)
opt.separator(" VPath common options:")
opt.on("-I", "--srcdir=DIR", "add a directory to search path") {|dir|
@additional << dir
}
@ -80,6 +81,10 @@ class VPath
@list
end
def add(path)
@additional << path
end
def strip(path)
prefix = list.map {|dir| Regexp.quote(dir)}
path.sub(/\A#{prefix.join('|')}(?:\/|\z)/, '')