summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-18 03:43:14 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-18 03:43:14 +0000
commita8e289374a3162d98ec58833550c40e44092179b (patch)
treef254f165da47748b2d83ea97abc6e6982b7f03c4
parent7d9f497f7ebde95ba2e15247ab55021872a7009b (diff)
version.c: last commit title
* version.c (ruby_show_version): show last commit title, if different than the trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rwxr-xr-xtool/file2lastrev.rb5
-rw-r--r--tool/vcs.rb5
-rw-r--r--version.c3
3 files changed, 11 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)
diff --git a/version.c b/version.c
index b2a4d2d25e..45761b3251 100644
--- a/version.c
+++ b/version.c
@@ -78,6 +78,9 @@ void
ruby_show_version(void)
{
PRINT(description);
+#ifdef RUBY_LAST_COMMIT_TITLE
+ fputs("last_commit=" RUBY_LAST_COMMIT_TITLE, stdout);
+#endif
#ifdef HAVE_MALLOC_CONF
if (malloc_conf) printf("malloc_conf=%s\n", malloc_conf);
#endif