lib/braid/commands/update.rb in braid-0.7.1 vs lib/braid/commands/update.rb in braid-1.0.0

- old
+ new

@@ -1,21 +1,19 @@ module Braid module Commands class Update < Command def run(path, options = {}) - bail_on_local_changes! - with_reset_on_error do path ? update_one(path, options) : update_all(options) end end protected def update_all(options = {}) options.reject! { |k, v| %w(revision head).include?(k) } - msg "Updating all mirrors." + msg 'Updating all mirrors.' config.mirrors.each do |path| update_one(path, options) end end @@ -25,25 +23,25 @@ revision_message = options["revision"] ? " to #{display_revision(mirror, options["revision"])}" : "" msg "Updating mirror '#{mirror.path}'#{revision_message}." # check options for lock modification if mirror.locked? - if options["head"] + if options['head'] msg "Unlocking mirror '#{mirror.path}'." if verbose? mirror.lock = nil - elsif !options["revision"] + elsif !options['revision'] msg "Mirror '#{mirror.path}' is locked to #{display_revision(mirror, mirror.lock)}. Use --head to force." return end end setup_remote(mirror) msg "Fetching new commits for '#{mirror.path}'." if verbose? mirror.fetch - new_revision = validate_new_revision(mirror, options["revision"]) - target_revision = determine_target_revision(mirror, new_revision) + new_revision = validate_new_revision(mirror, options['revision']) + target_revision = determine_target_revision(new_revision) if mirror.merged?(target_revision) msg "Mirror '#{mirror.path}' is already up to date." return end @@ -52,38 +50,38 @@ diff = mirror.diff base_revision = mirror.base_revision end mirror.revision = new_revision - mirror.lock = new_revision if options["revision"] + mirror.lock = new_revision if options['revision'] msg "Merging in mirror '#{mirror.path}'." if verbose? begin if mirror.squashed? - local_hash = git.rev_parse("HEAD") + local_hash = git.rev_parse('HEAD') if !diff.empty? base_hash = generate_tree_hash(mirror, base_revision) else base_hash = local_hash end remote_hash = generate_tree_hash(mirror, target_revision) - ENV["GITHEAD_#{local_hash}"] = "HEAD" + ENV["GITHEAD_#{local_hash}"] = 'HEAD' ENV["GITHEAD_#{remote_hash}"] = target_revision git.merge_recursive(base_hash, local_hash, remote_hash) else git.merge_subtree(target_revision) end rescue Operations::MergeError => error - msg "Caught merge error. Breaking." + msg 'Caught merge error. Breaking.' end config.update(mirror) add_config_file commit_message = "Update mirror '#{mirror.path}' to #{display_revision(mirror)}" if error - File.open(".git/MERGE_MSG", 'w') { |f| f.puts(commit_message) } + File.open('.git/MERGE_MSG', 'w') { |f| f.puts(commit_message) } return end git.commit(commit_message) msg "Updated mirror to #{display_revision(mirror)}." @@ -91,11 +89,11 @@ def generate_tree_hash(mirror, revision) git.rm_r(mirror.path) git.read_tree_prefix(revision, mirror.path) success = git.commit("Temporary commit for mirror '#{mirror.path}'") - hash = git.rev_parse("HEAD") - git.reset_hard("HEAD^") if success + hash = git.rev_parse('HEAD') + git.reset_hard('HEAD^') if success hash end end end end