With git being the awesome version control system that it is, I switched to using git-svn for all our Web-Empowered Church extensions. That way I get the easy branching and merging while still being compatible with Subversion and everyone else who’s using it (and who hasn’t seen the light yet…).
Now I have a directory that contains all our wec_* extensions. With Subversion, I could do a simple “svn up *” and it would update all the working copies inside the subdirectories. Unfortunately, git doesn’t do that.
Ruby to the rescue:
Just stuck this into the directory above all the extensions. Now I can rebase all extensions automatically with one little command, or just one by giving an optional argument.!/usr/bin/env ruby
def rebase(dir) Dir.chdir(dir) do |path| puts "Rebasing #{path}...."
git svn rebaseputs "done!\n\n" end endif ARGV[0].nil? dirs = Dir["*/"] dirs.each do |dir| rebase(dir) end else rebase ARGV[0] end




