ruby_svntag及发邮件-创新互联

#!/usr/bin/ruby
require 'fileutils'
require 'net/smtp'
dir = ARGV[0]
to_mail = "" #mail address list
$svn_ser = "http://192.168.12.12/svn"
if to_mail.empty?
    puts "Please Setting Maillist"
    Process.exit(7)
end
`export SVN_EDITOR="/bin/vi"`
usage =</tmp/svn_temp_temp`
svn_log = File.open("/tmp/svn_temp_temp",'r')
def format_srt(sa)
        m = 0
        str, ok = "", ""
        sa.each {|x|
                if not(/^---+$/.match(x).nil?)
                    if /^Commit:Release-\d+\.\d+/.match(str) and m == 1
                        break
                    else ok = ok + str
                    end
                    str = x
                    m = 1
                elsif not(/^r[0-9]+\s/.match(x).nil?)
                    tmp_array = x.split('|')
                    str = str + "\nReVersion:%42s\nAuthor:%45s\nDate:%47s\n" %[tmp_array[0].chop,tmp_array[1][1,18].chop,tmp_array[2][1,19]]
                elsif not(/^\s..[ADUCMG]|^Changed\spaths/.match(x).nil?)
                    if /\/tag\/release-\d+\.|release_notes\.txt/.match(x).nil?
                        str = str + x
                    else
                        x = ''
                    end                  
                elsif not(/\s.+\w.*|\w.*/.match(x).nil?)
                        str = str + "Commit:" + x
                elsif not(/\s.*$/.match(x).nil?)
                    str = str
                end
        }      
        return ok.gsub(/\s*$/,'').gsub(/Changed paths/,'ChangePath') + "\n------------------------------------------------------------------------"
end
def check_re_no()
re_no = ""
File.open("release_notes.txt",'r').each{ |x|
        if /Release-/.match(x)
                re_no = x
                break
        end
}
return re_no.split('-')[1].to_f
end
def rel_title(re_no)
re_module = Dir.pwd.split('/')[-1]
release_no = <
To: #{dst.chomp}
Subject: SVN_Release
#{project.chomp}
#{re_no.chomp}
#{re_module.chomp}
#{re_user.chomp}
#{path}
END_OF_MESSAGE
    acct = 'svn@163.com'
    domain = "163.com"
    pass = '1q1123452'
    Net::SMTP.start('smtp.163.com', 25, domain, acct, pass, :login) { |smtp|
        smtp.send_message msgstr,'svn@163.com',dst.chomp
    }
    #Net::SMTP.start(server, port, domain, acct, passwd, authtype)
}
end
def writefile(str)
aFile = File.new("release_notes.txt","w")
       aFile.puts str
aFile.close
end
def svn_project_name()
    name = ''
    File.open(Dir.pwd + "/.svn/all-wcprops",'r').each { |x|
        if /!svn\/ver\/\d+/.match(x)
                name = x
                break
        end
    }
    return name.split('/')[2]
end
svn_name = svn_project_name
re_no = tag(Dir.pwd,format_srt(svn_log),svn_name)
mailer(to_mail,re_no,svn_name)
puts "Release-#{re_no} Success"
`rm -f /tmp/svn_temp_temp`

创新互联建站是一家集网站建设,马边彝族企业网站建设,马边彝族品牌网站建设,网站定制,马边彝族网站建设报价,网络营销,网络优化,马边彝族网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:ruby_svntag及发邮件-创新互联
本文URL:http://myzitong.com/article/cegpsh.html