3 svn = "svn+ssh://mono-cvs.ximian.com/source/"
4 info = "Mono.Cecil/AssemblyInfo.cs"
8 IO::popen("svn info #{svn}").each { |line|
9 $rev = $1.to_i if line =~ /^Revision: ([0-9]+)/
13 puts "Cannot get last revision"
19 f = File.new(file, File::CREAT | File::RDONLY)
20 content << f.readlines.join
26 def write_file(file, content)
27 File.open(file, File::CREAT | File::WRONLY) { |f|
32 def patch_info(content)
34 content.each_line { |line|
35 if not line =~ /AssemblyVersion/
38 patched << line.gsub(/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/) {
41 build_rev = (next_rev / cut).ceil
42 revision = next_rev - (build_rev * cut)
43 build = (($3.to_i / 100).ceil * 100) + build_rev
44 "#{$1.to_s}.#{$2.to_s}.#{build.to_s}.#{(revision).to_s}"
51 write_file(info, patch_info(read_file(info)))