summaryrefslogtreecommitdiff
path: root/tool/file2lastrev.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-29 20:03:51 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-30 10:39:42 +0900
commit5a5644dadcd5e00b571d0029af4d96849e254cd4 (patch)
treeb23d694057ed5497edbac0d4e01f95f7acf23735 /tool/file2lastrev.rb
parentf70ba9cf805dc58d993e60fe2bb06d6c5e2f08cb (diff)
downloadruby-5a5644dadcd5e00b571d0029af4d96849e254cd4.tar.gz
Introduce `VCS::Null` for fallback
Diffstat (limited to 'tool/file2lastrev.rb')
-rwxr-xr-xtool/file2lastrev.rb16
1 files changed, 4 insertions, 12 deletions
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index a3cdcf05c3..09cb959932 100755
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -32,8 +32,8 @@ OptionParser.new {|opts|
rescue VCS::NotFoundError => e
abort "#{File.basename(Program)}: #{e.message}" unless @suppress_not_found
opts.remove
+ nil
end
- nil
end
opts.new
opts.on("--srcdir=PATH", "use PATH as source directory") do |path|
@@ -62,15 +62,11 @@ OptionParser.new {|opts|
opts.order! rescue abort "#{File.basename(Program)}: #{$!}\n#{opts}"
if vcs
vcs.set_options(vcs_options) # options after --srcdir
- else
- new_vcs["."]
+ elsif new_vcs["."]
+ else @suppress_not_found
+ (vcs = VCS::Null.new(nil)).set_options(vcs_options)
end
}
-unless vcs
- # Output only release_date when .git is missing
- puts VCS.release_date if @output == :revision_h
- exit
-end
output =
case @output
@@ -99,10 +95,6 @@ ok = true
begin
puts output[*vcs.get_revisions(arg)]
rescue => e
- if @suppress_not_found and VCS::NotFoundError === e
- puts VCS.release_date if @output == :revision_h
- next
- end
warn "#{File.basename(Program)}: #{e.message}"
ok = false
end