Skip to content

Instantly share code, notes, and snippets.

@troter
Created February 15, 2011 02:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save troter/826984 to your computer and use it in GitHub Desktop.
Save troter/826984 to your computer and use it in GitHub Desktop.
edit svn properties using sed
#!/usr/bin/env ruby
# -*- coding:utf-8 -*-
SCRIPT_NAME=$0
if ARGV.size != 3
puts "USAGE: #{SCRIPT_NAME} PROPNAME SED_SCRIPT TARGET"
exit 1
end
svn = 'svn'
propname, sed_script, target=ARGV
require 'tempfile'
tmp = Tempfile::new(SCRIPT_NAME); tmp.close
`#{svn} propget #{propname} #{target} | sed -e '/^$/d' > #{tmp.path}`
`sed -i -e '#{sed_script}' #{tmp.path}`
`#{svn} propset #{propname} -F #{tmp.path} #{target}`
tmp.open; tmp.close!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment