aboutsummaryrefslogtreecommitdiffstats
path: root/tool/file2lastrev.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-09-17 22:24:09 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2022-09-17 22:24:10 +0900
commit33c6dd2cc89c27bbf406508ec39038a181fb99bc (patch)
tree6e0a3d9a25f6600a5ba832df315bb1d8e1d27d59 /tool/file2lastrev.rb
parent1825d3673f2a5504b65ba31a9fb6c2e52edf1fc3 (diff)
downloadruby-33c6dd2cc89c27bbf406508ec39038a181fb99bc.tar.gz
Fallback to VCS.release_date on VCS::NotFoundError
when -q is given. One of the RubyCI servers, freebsd12, had a broken git environment: ``` $ git show fatal: detected dubious ownership in repository at '/usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby' To add an exception for this directory, call: git config --global --add safe.directory /usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby ``` tool/lib/vcs.rb doesn't work normally for that server. Even for such cases, we'd like to generate a usable revision.h. So this patch lets revision.h fallback to default VCS.release_date when VCS::NotFoundError is raised.
Diffstat (limited to 'tool/file2lastrev.rb')
-rwxr-xr-xtool/file2lastrev.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index 476437a995..a3cdcf05c3 100755
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -68,13 +68,11 @@ OptionParser.new {|opts|
}
unless vcs
# Output only release_date when .git is missing
- if @output == :revision_h
- puts VCS.release_date(Time.now - 10) # same as make-snapshot
- end
+ puts VCS.release_date if @output == :revision_h
exit
end
-@output =
+output =
case @output
when :changed, nil
Proc.new {|last, changed|
@@ -99,9 +97,12 @@ end
ok = true
(ARGV.empty? ? [nil] : ARGV).each do |arg|
begin
- puts @output[*vcs.get_revisions(arg)]
+ puts output[*vcs.get_revisions(arg)]
rescue => e
- next if @suppress_not_found and VCS::NotFoundError === 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