lib/braid/commands/update.rb in evilchelu-braid-0.4.13 vs lib/braid/commands/update.rb in evilchelu-braid-0.5
- old
+ new
@@ -19,28 +19,33 @@
end
def update_one(path, options = {})
mirror = config.get!(path)
+ 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"]
- msg "Unlocking mirror '#{mirror.path}/'."
+ msg "Unlocking mirror '#{mirror.path}'." if verbose?
mirror.lock = nil
elsif !options["revision"]
- msg "Mirror '#{mirror.path}/' is locked to #{display_revision(mirror, mirror.lock)}. Skipping."
+ 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)
if mirror.merged?(target_revision)
- msg "Mirror '#{mirror.path}/' is already up to date. Skipping."
+ msg "Mirror '#{mirror.path}' is already up to date."
return
end
if mirror.squashed?
diff = mirror.diff
@@ -48,11 +53,11 @@
end
mirror.revision = new_revision
mirror.lock = new_revision if options["revision"]
- msg "Updating mirror '#{mirror.path}/'."
+ msg "Merging in mirror '#{mirror.path}'." if verbose?
begin
if mirror.squashed?
local_hash = git.rev_parse("HEAD")
if diff
base_hash = generate_tree_hash(mirror, base_revision)
@@ -71,23 +76,24 @@
end
config.update(mirror)
add_config_file
- commit_message = "Update mirror '#{mirror.path}/' to #{display_revision(mirror)}"
+ commit_message = "Updated mirror '#{mirror.path}' to #{display_revision(mirror)}"
if error
File.open(".git/MERGE_MSG", 'w') { |f| f.puts(commit_message) }
return
- else
- git.commit(commit_message)
end
+
+ git.commit(commit_message)
+ msg commit_message
end
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}/'")
+ success = git.commit("Temporary commit for mirror '#{mirror.path}'")
hash = git.rev_parse("HEAD")
git.reset_hard("HEAD^") if success
hash
end
end