diff options
author | Nobuyoshi Nakada <[email protected]> | 2019-05-22 23:18:37 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2019-05-22 23:53:21 +0900 |
commit | a205e24747497391390ef7c004293a8a7934dd96 (patch) | |
tree | 404c7576caf233c612a78966047de8218beebf57 | |
parent | d819d97cf02fd0a5b5b1f6ee69c9fdb83276e6c2 (diff) |
Make RUBY_REVISION full length
-rwxr-xr-x | tool/file2lastrev.rb | 4 | ||||
-rw-r--r-- | tool/vcs.rb | 21 | ||||
-rw-r--r-- | version.c | 2 |
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 @@ -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; |