#!/usr/bin/env ruby
# Erik Kastner - git-r-up.rb
# daemon to watch for changes in a directory and sync them to a directory under source control (like rails + git)
# also adds and commits files to git (just git init in the FETCH_ROOT)
require'rubygems'require'simple-daemon'require'git'PUBLIC_ROOT="/path/to/rails/project/current/public"FETCH_ROOT="/home/myuser/website"classWatcher< SimpleDaemon::BaseSimpleDaemon::WORKING_DIRECTORY="/tmp/git-watcher"defself.start
puts "Starting Watcher"
g =Git.open(FETCH_ROOT)loopdo
unless g.status.untracked.empty? && g.status.changed.empty?
%x{cp -r #{FETCH_ROOT}/* #{PUBLIC_ROOT}}
g.add
g.commit_all("auto from watcher")endendenddefself.end
puts "Stopping Watcher"endendWatcher.daemonize