Skip to content

Instantly share code, notes, and snippets.

@motoishmz
Last active August 29, 2015 13:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save motoishmz/9384488 to your computer and use it in GitHub Desktop.
Save motoishmz/9384488 to your computer and use it in GitHub Desktop.
creating/applying patches to ofxaddons
#!/usr/bin/ruby
dir_addons = File.expand_path("../addons")
module PatchingMode
CREATE = 1
APPLY = 2
end
def patch(patching_mode, path_to_addons_dir, ofxaddon)
ofxaddon_path = path_to_addons_dir + "/" + ofxaddon
return puts ofxaddon_path + " not found" unless FileTest.exists?(ofxaddon_path)
Dir.chdir(ofxaddon_path) {
patch_filename = "#{ofxaddon}.patch"
if (patching_mode == PatchingMode::CREATE) then
`git diff --no-prefix HEAD~ > #{path_to_addons_dir}/#{patch_filename}`
puts "Finished creating #{patch_filename}"
elsif (patching_mode == PatchingMode::APPLY) then
`patch -p0 < #{path_to_addons_dir}/#{patch_filename}`
puts "Finished applying #{patch_filename}"
else
puts "Unknown patching mode... done nothing to #{ofxaddon}"
end
}
end
# our main code
# ・゜・*:.。..:*・'。. .。.:*・゜・*
# create
patch(PatchingMode::CREATE, dir_addons, "ofxBlackMagic")
# apply
# patch(PatchingMode::APPLY, dir_addons, "ofxBlackMagic")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment