summaryrefslogtreecommitdiff
path: root/tool/make-snapshot
diff options
context:
space:
mode:
Diffstat (limited to 'tool/make-snapshot')
-rwxr-xr-xtool/make-snapshot6
1 files changed, 6 insertions, 0 deletions
diff --git a/tool/make-snapshot b/tool/make-snapshot
index 962ac07d9d..20f18a301f 100755
--- a/tool/make-snapshot
+++ b/tool/make-snapshot
@@ -100,6 +100,7 @@ Dir.chdir tmp
def package(rev, destdir)
patchlevel = false
+ prerelease = false
if revision = rev[/@(\d+)\z/, 1]
rev = $`
end
@@ -110,6 +111,7 @@ def package(rev, destdir)
url = SVNURL + "branches/"
url = url + `svn ls #{url}`[/.*^(ruby_\d+_\d+)\//m, 1]
when /\A(.*)\.(.*)\.(.*)-(preview|rc)(\d+)/
+ prerelease = true
tag = "#{$4}#{$5}"
url = SVNURL + "tags/v#{$1}_#{$2}_#{$3}_#{$4}#{$5}"
when /\A(.*)\.(.*)\.(.*)-p(\d+)/
@@ -163,6 +165,10 @@ def package(rev, destdir)
versionhdr ||= IO.read("#{v}/version.h")
patchlevel = versionhdr[/^\#define\s+RUBY_PATCHLEVEL\s+(\d+)/, 1]
tag = (patchlevel ? "p#{patchlevel}" : "r#{revision}")
+ elsif prerelease
+ versionhdr ||= IO.read("#{v}/version.h")
+ versionhdr.sub!(/^\#define\s+RUBY_PATCHLEVEL_STR\s+"\K.+?(?=")/, tag)
+ IO.write("#{v}/version.h", versionhdr)
else
tag ||= "r#{revision}"
end