#!/usr/bin/env ruby require 'xmpp4r' require 'xmpp4r/muc/helper/simplemucclient' input = gets args = input.strip.split(/ /) oldrev = args[0] newrev = args[1] refname = args[2] 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 puts message sleep(1) muc.say(message)