HEAD をアーカイブるスクリプトを書いてみた
git archive なんてら〜って毎回やるのは*1めんどくさいので、書いてみた。
tag には、ver-1.0.0.0 みたいなのが入ってるの前提で。
#!/local/usr/bin/ruby # -*- encoding: shift_jis -*- # archive.rb versions = `git tag`.split( /\n/ ).delete_if { |tag| (tag =~ /ver-.*/).nil? } if versions.length > 0 then current_version = versions.pop package_name = Dir.pwd.split( /\// ).pop disp_version = current_version.gsub( /ver-/, "" ) archive_name = "#{package_name}-#{disp_version}-src.zip" `git archive --format=zip HEAD > ../#{archive_name}` else puts "バージョンタグがないよぉ〜?" end
または、tag の ver の数だけアーカイブを作るスクリプト。
#!/local/usr/bin/ruby # -*- encoding: shift_jis -*- # all-archive.rb versions = `git tag`.split( /\n/ ).delete_if { |tag| (tag =~ /ver-.*/).nil? } if versions.length > 0 then versions.each do |current_version| package_name = Dir.pwd.split( /\// ).pop disp_version = current_version.gsub( /ver-/, "" ) archive_name = "#{package_name}-#{disp_version}-src.zip" `git archive --format=zip HEAD > ../#{archive_name}` end else puts "バージョンタグがないよぉ〜?" end
*1:そんなに何度もやるコマンドじゃないけれど