summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rwxr-xr-xtool/file2lastrev.rb5
-rw-r--r--tool/vcs.rb5
2 files changed, 8 insertions, 2 deletions
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index 5117f0a51f..100206d270 100755
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -47,7 +47,7 @@ rescue VCS::NotFoundError => e
abort "#{File.basename(Program)}: #{e.message}" unless @suppress_not_found
else
begin
- last, changed, modified, branch = vcs.get_revisions(ARGV.shift)
+ last, changed, modified, branch, title = vcs.get_revisions(ARGV.shift)
rescue => e
abort "#{File.basename(Program)}: #{e.message}" unless @suppress_not_found
exit false
@@ -65,6 +65,9 @@ when :revision_h
name = branch.sub(/\A(.{#{limit-e.size}}).{#{e.size+1},}/o) {$1+e}
puts "#define RUBY_BRANCH_NAME #{name.dump}"
end
+ if title
+ puts "#define RUBY_LAST_COMMIT_TITLE #{title.dump}"
+ end
when :doxygen
puts "r#{changed}/r#{last}"
when :modified
diff --git a/tool/vcs.rb b/tool/vcs.rb
index 1e087b6542..9d11b3b8c1 100644
--- a/tool/vcs.rb
+++ b/tool/vcs.rb
@@ -260,6 +260,7 @@ class VCS
logcmd << "--grep=^ *git-svn-id: .*@[0-9][0-9]*"
idpat = /git-svn-id: .*?@(\d+) \S+\Z/
log = IO.pread(logcmd)
+ commit = log[/\Acommit (\w+)/, 1]
last = log[idpat, 1]
if path
cmd = logcmd
@@ -271,7 +272,9 @@ class VCS
end
modified = log[/^Date:\s+(.*)/, 1]
branch = IO.pread(gitcmd + %W[symbolic-ref HEAD])[%r'\A(?:refs/heads/)?(.+)', 1]
- [last, changed, modified, branch]
+ title = IO.pread(gitcmd + ["log", "--format=%s", "-n1", "#{commit}..HEAD"])
+ title = nil if title.empty?
+ [last, changed, modified, branch, title]
end
Branch = Struct.new(:to_str)