blob: cafe3ad1142b2d4563958090c1a3f83841417117 [file] [log] [blame]
#
# When mail comes in indicating that a repository was updated,
# update the local working copy.
#
require 'mail'
File.umask(0002)
mail = Mail.new(STDIN.read)
LOG = '/srv/whimsy/www/logs/svn-update'
if mail.subject =~ %r{^board: r\d+ -( in)? /foundation/board}
# prevent concurrent updates being performed by the cron job
File.open(LOG, File::RDWR|File::CREAT, 0644) do |log|
log.flock(File::LOCK_EX)
Dir.chdir '/srv/svn/foundation_board' do
`svn cleanup`
`svn update`
end
end
elsif mail.subject =~ %r{^committers: r\d+ -( in)? /committers/board}
# prevent concurrent updates being performed by the cron job
File.open(LOG, File::RDWR|File::CREAT, 0644) do |log|
log.flock(File::LOCK_EX)
Dir.chdir '/srv/svn/board' do
`svn cleanup`
`svn update`
end
end
end