#!/usr/bin/env ruby require 'xmpp4r' require 'xmpp4r/muc/helper/simplemucclient' oldrev = gets.chomp newrev = gets.chomp refname = gets.chomp user = ENV['GL_USER'] @jabber_id= "git@higgsboson.tk" @password = "ZTA2NTlkMmNlYjNlZ" robot = Jabber::Client::new(Jabber::JID::new(@jabber_id)) robot.connect robot.auth(@password) robot.send(Jabber::Presence.new.set_type(:available)) muc = Jabber::MUC::SimpleMUCClient.new(robot) muc.join(Jabber::JID.new('lctp@muc.higgsboson.tk/git')) revs = `git rev-list #{oldrev}..#{newrev}`.split("\n") message = "#{user} has committed: " revs.each do |rev| commit = `git cat-file commit #{rev} | sed '1,/^$/d'` message += "#{commit}\n" end sleep(2) muc.say(message)