poll_from prepends existing locations to the "new" message, so we can't use just the first location.
While using the last location would work, calculating the difference should be fast and is more robust in the face of future changes to poll_from. Signed-off-by: Sascha Silbe <sascha-...@silbe.org> --- lib/sup/poll.rb | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/sup/poll.rb b/lib/sup/poll.rb index afd3d95..7e05292 100644 --- a/lib/sup/poll.rb +++ b/lib/sup/poll.rb @@ -115,10 +115,11 @@ EOS yield "Deleting #{m.id}" elsif action == :add if old_m - if not old_m.locations.member? m.location - yield "Message at #{m.source_info} is an updated of an old message. Updating labels from #{old_m.labels.to_a * ','} => #{m.labels.to_a * ','}" + new_locations = (m.locations - old_m.locations) + if not new_locations.empty? + yield "Message at #{new_locations[0].info} is an update of an old message. Updating labels from #{old_m.labels.to_a * ','} => #{m.labels.to_a * ','}" else - yield "Skipping already-imported message at #{m.source_info}" + yield "Skipping already-imported message at #{m.locations[-1].info}" end else yield "Found new message at #{m.source_info} with labels #{m.labels.to_a * ','}" -- 1.7.2.3 _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel