Skip to content

Instantly share code, notes, and snippets.

@oleganza
Created March 13, 2009 14:28
Show Gist options
  • Save oleganza/78579 to your computer and use it in GitHub Desktop.
Save oleganza/78579 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
# Reclone current directory to refresh Flash CS3 brains about classpath
# (after that please do "cd .")
def main
dir = File.dirname(File.expand_path(__FILE__))
dir_basename = File.basename(dir)
dir_basename2 = dir_basename + "-refucking-flash"
origin = sh("git config remote.origin.url").strip
dry = (ARGV[0] == "dry")
status = sh("git status")
if (!dry && (status !~ /nothing to commit.*working directory clean/ || status =~ /branch is ahead of/))
puts " "
puts " Cannot refuck Flash. Commit and push, please."
puts " "
puts status
exit
end
Dir.chdir("..")
#puts Dir.pwd
#puts dir_basename
#puts dir_basename2
remove(dir_basename2)
puts "Cloning to #{dir_basename2}"
sh("git clone #{origin} #{dir_basename2}")
sh("cp -rf #{dir_basename}/.git/config #{dir_basename2}/.git/")
if (!dry)
remove(dir_basename)
sh("mv #{dir_basename2} #{dir_basename}")
Dir.chdir(dir_basename)
end
puts "Flash is refucked. Now you can reopen your *.fla files and check classpaths."
end
def sh(str)
`#{str} 2>/dev/null`
end
def remove(folder)
sh("rm -rf ./#{folder}")
end
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment