From ec039c90c6ceece043b1810884baa955b193d4b2 Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Sat, 19 Mar 2016 17:22:43 -0700 Subject: [PATCH] [scripts] Fix script for resolving conflicts --- scripts/resolve_dropbox_conflicts.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/resolve_dropbox_conflicts.rb b/scripts/resolve_dropbox_conflicts.rb index 466571e..2dca362 100644 --- a/scripts/resolve_dropbox_conflicts.rb +++ b/scripts/resolve_dropbox_conflicts.rb @@ -2,16 +2,20 @@ require 'fileutils' include FileUtils conflicts = `find ~/Dropbox -name "*conflicted*"`.split("\n") -same, diff = conflicts.select { |conflict| +diffs = conflicts.each.with_object({}) { |conflict, diffs| actual = conflict.sub(/ \(.*'s conflicted copy \d{4}-\d{2}-\d{2}\)/, '') - diff = `diff "#{actual}" "#{conflict}"` - diff.empty? + diffs[conflict] = `diff "#{actual}" "#{conflict}"` } -same.each do |conflict| +same, diff = diffs.partition {|_,diff| diff.empty? } + +same.each do |conflict, _| rm conflict end -puts diff.map { |conflict| +puts diff.map { |conflict, diff| [conflict, diff].join("\n") }.join("\n") + +# require 'pry' +# binding.pry