summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-05-22 23:18:37 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-05-22 23:53:21 +0900
commita205e24747497391390ef7c004293a8a7934dd96 (patch)
tree404c7576caf233c612a78966047de8218beebf57
parentd819d97cf02fd0a5b5b1f6ee69c9fdb83276e6c2 (diff)
downloadruby-a205e24747497391390ef7c004293a8a7934dd96.tar.gz
Make RUBY_REVISION full length
-rwxr-xr-xtool/file2lastrev.rb4
-rw-r--r--tool/vcs.rb21
-rw-r--r--version.c2
3 files changed, 22 insertions, 5 deletions
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index 58ff354d3d..24fbaeb0d7 100755
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -45,6 +45,7 @@ parser = OptionParser.new {|opts|
}
parser.parse! rescue abort "#{File.basename(Program)}: #{$!}\n#{parser}"
+vcs = nil
@output =
case @output
when :changed, nil
@@ -54,7 +55,8 @@ parser.parse! rescue abort "#{File.basename(Program)}: #{$!}\n#{parser}"
when :revision_h
Proc.new {|last, changed, modified, branch, title|
[
- "#define RUBY_REVISION #{last.dump}",
+ "#define RUBY_REVISION #{vcs.short_revision(last).dump}",
+ "#define RUBY_FULL_REVISION #{last.dump}",
if branch
e = '..'
limit = 16
diff --git a/tool/vcs.rb b/tool/vcs.rb
index f251c96ecb..34bafa72ac 100644
--- a/tool/vcs.rb
+++ b/tool/vcs.rb
@@ -224,6 +224,10 @@ class VCS
self.class.revision_name(rev)
end
+ def short_revision(rev)
+ self.class.short_revision(rev)
+ end
+
class SVN < self
register(".svn")
COMMAND = ENV['SVN'] || 'svn'
@@ -232,6 +236,10 @@ class VCS
"r#{rev}"
end
+ def self.short_revision(rev)
+ rev
+ end
+
def self.get_revisions(path, srcdir = nil)
if srcdir and local_path?(path)
path = File.join(srcdir, path)
@@ -392,10 +400,9 @@ class VCS
def self.get_revisions(path, srcdir = nil)
gitcmd = [COMMAND]
- last = cmd_read_at(srcdir, [[*gitcmd, 'rev-parse', '--short=10', 'HEAD']]).rstrip
+ last = cmd_read_at(srcdir, [[*gitcmd, 'rev-parse', 'HEAD']]).rstrip
log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso', *path]])
changed = log[/\Acommit (\h+)/, 1]
- changed = changed[0, last.size]
modified = log[/^Date:\s+(.*)/, 1]
branch = cmd_read_at(srcdir, [gitcmd + %W[symbolic-ref --short HEAD]])
if branch.empty?
@@ -413,7 +420,11 @@ class VCS
end
def self.revision_name(rev)
- rev
+ short_revision(rev)
+ end
+
+ def self.short_revision(rev)
+ rev[0, 10]
end
def initialize(*)
@@ -533,6 +544,10 @@ class VCS
SVN.revision_name(rev)
end
+ def self.short_revision(rev)
+ SVN.short_revision(rev)
+ end
+
def format_changelog(r, path)
open(path, 'w') do |w|
sep = "-"*72
diff --git a/version.c b/version.c
index 6b96dee377..660f6717e2 100644
--- a/version.c
+++ b/version.c
@@ -33,7 +33,7 @@ const int ruby_api_version[] = {
STRINGIZE(RUBY_VERSION_MINOR) "." \
STRINGIZE(RUBY_VERSION_TEENY) ""
const char ruby_version[] = RUBY_VERSION;
-const char ruby_revision[] = RUBY_REVISION;
+const char ruby_revision[] = RUBY_FULL_REVISION;
const char ruby_release_date[] = RUBY_RELEASE_DATE;
const char ruby_platform[] = RUBY_PLATFORM;
const int ruby_patchlevel = RUBY_PATCHLEVEL;