diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-09-17 22:24:09 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-09-17 22:24:10 +0900 |
commit | 33c6dd2cc89c27bbf406508ec39038a181fb99bc (patch) | |
tree | 6e0a3d9a25f6600a5ba832df315bb1d8e1d27d59 /tool/file2lastrev.rb | |
parent | 1825d3673f2a5504b65ba31a9fb6c2e52edf1fc3 (diff) | |
download | ruby-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-x | tool/file2lastrev.rb | 13 |
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 |