From 84e74413f155bcf2bc4d1fb95945cd5d591c4410 Mon Sep 17 00:00:00 2001 From: William Morgan Date: Wed, 26 Nov 2008 15:23:35 -0800 Subject: [PATCH] for duplicate messages, merge labels rather than discard them --- bin/sup-sync | 2 +- lib/sup/poll.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/sup-sync b/bin/sup-sync index ac5caf6..f9624e8 100644 --- a/bin/sup-sync +++ b/bin/sup-sync @@ -163,7 +163,7 @@ begin ## assign message labels based on the operation we're performing case op when :asis - m.labels = index_state if index_state + m.labels = (m.labels + index_state).uniq if index_state when :restore ## if the entry exists on disk if restored_state[m.id] diff --git a/lib/sup/poll.rb b/lib/sup/poll.rb index 87cf996..de25b4c 100644 --- a/lib/sup/poll.rb +++ b/lib/sup/poll.rb @@ -97,7 +97,7 @@ EOS numi = 0 add_messages_from source do |m, offset, entry| ## always preserve the labels on disk. - m.labels = entry[:label].split(/\s+/).map { |x| x.intern } if entry + m.labels = (m.labels + entry[:label].split(/\s+/).map { |x| x.intern }).uniq if entry yield "Found message at #{offset} with labels {#{m.labels * ', '}}" unless entry num += 1 -- 2.45.2