aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tool/lib/vcs.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/tool/lib/vcs.rb b/tool/lib/vcs.rb
index a65f1ffc49..3c06027ec1 100644
--- a/tool/lib/vcs.rb
+++ b/tool/lib/vcs.rb
@@ -573,10 +573,17 @@ class VCS
end
rev unless rev.empty?
end
- unless /./.match(from ||= branch_beginning(url))
- raise "cannot find the beginning revision of the branch"
+ if /./.match(from) or /./.match(from = branch_beginning(url))
+ from += "^"
+ else
+ warn "no starting commit found", uplevel: 1
+ from = cmd_pipe(%W[ #{COMMAND} log --format=format:%H --reverse --since=1\ year\ ago], &:gets)
+ from.strip!
+ unless /./.match(from)
+ raise "cannot find the beginning revision of the branch"
+ end
end
- range = [from, (to || 'HEAD')].join('^..')
+ range = [from, (to || 'HEAD')].join('..')
cmd_pipe({'TZ' => 'JST-9', 'LANG' => 'C', 'LC_ALL' => 'C'},
%W"#{COMMAND} log --format=medium --notes=commits --date=iso-local --topo-order #{range}", "rb") do |r|
format_changelog(r, path)