[scripts] Fix script for resolving conflicts
change
commit ec039c90c6ceece043b1810884baa955b193d4b2
author Alpha Chen <alpha.chen@gmail.com>
date
parent 484a7b15
diff --git a/scripts/resolve_dropbox_conflicts.rb b/scripts/resolve_dropbox_conflicts.rb
index 466571e5..2dca3625 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