From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.42.229.71 with SMTP id jh7cs146908icb; Tue, 18 Jan 2011 11:14:12 -0800 (PST) Received: by 10.231.15.65 with SMTP id j1mr6481498iba.130.1295378051122; Tue, 18 Jan 2011 11:14:11 -0800 (PST) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id w3si5397075vbl.92.2011.01.18.11.14.10; Tue, 18 Jan 2011 11:14:11 -0800 (PST) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 61CCC1858363; Tue, 18 Jan 2011 14:14:10 -0500 (EST) Received: from smtp.chost.de (setoy.chost.de [217.160.209.225]) by rubyforge.org (Postfix) with ESMTP id DE079185831A for ; Tue, 18 Jan 2011 13:24:33 -0500 (EST) Received: (qmail 29995 invoked by uid 5015); 18 Jan 2011 18:24:41 -0000 Received: (nullmailer pid 31424 invoked by uid 8193); Tue, 18 Jan 2011 18:24:31 -0000 Received: (nullmailer pid 2218 invoked by uid 8193); Tue, 18 Jan 2011 18:24:28 -0000 From: Sascha Silbe To: sup-devel Date: Tue, 18 Jan 2011 19:24:27 +0100 Message-Id: <1295375067-2184-1-git-send-email-sascha-pgp@silbe.org> X-Mailer: git-send-email 1.7.2.3 Mail-Followup-To: Subject: [sup-devel] [PATCH] poll: fix message update vs. already-imported detection X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sascha Silbe , Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org 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 --- 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