|
|
|
@ -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
|
|
|
|
|