Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id C450F429E25 for ; Fri, 8 Jul 2011 11:09:18 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.699 X-Spam-Level: X-Spam-Status: No, score=-0.699 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7MNlAcDFfucs for ; Fri, 8 Jul 2011 11:09:18 -0700 (PDT) Received: from mail-qw0-f53.google.com (mail-qw0-f53.google.com [209.85.216.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id DE8F3431FB6 for ; Fri, 8 Jul 2011 11:09:17 -0700 (PDT) Received: by qwb7 with SMTP id 7so1221030qwb.26 for ; Fri, 08 Jul 2011 11:09:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=A6VqEHJNe6AAgluU5zJcJErVcy6yuSkJ+pxonyD8sKo=; b=I/Mtf42pxa4EsoZtICm5jzyyHIQQydqmM2K2xxK5P1Hr4aOXzgnlNNs9c07xxZdoqK aBm7Q5myAs2+n5RWhbsvpKyGu06R7JtRaS661HOCzccZvBfpvwp7z8vrQzgw501i7cWG q5C6fCChOIWuniwXwi77kwItEXHplHyUH9bSI= MIME-Version: 1.0 Received: by 10.229.106.32 with SMTP id v32mr1782522qco.77.1310148557060; Fri, 08 Jul 2011 11:09:17 -0700 (PDT) Sender: amdragon@gmail.com Received: by 10.229.229.211 with HTTP; Fri, 8 Jul 2011 11:09:16 -0700 (PDT) In-Reply-To: References: <87ei34rnc5.fsf@yoom.home.cworth.org> <1307822683-848-1-git-send-email-amdragon@mit.edu> Date: Fri, 8 Jul 2011 14:09:16 -0400 X-Google-Sender-Auth: dkzFpN6X4-yTEfI0GHclH7fhlVE Message-ID: Subject: Re: [PATCH v6 00/17] Fix 'notmuch new' atomicity issues From: Austin Clements To: Carl Worth Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: notmuch@notmuchmail.org X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jul 2011 18:09:19 -0000 Rebased against current master and now atomic-new-v7 on http://awakening.csail.mit.edu/git/notmuch.git There were a handful of conflicts, but nothing substantive. On Wed, Jun 22, 2011 at 3:39 PM, Austin Clements wrote: > Ping. > > On Sat, Jun 11, 2011 at 4:04 PM, Austin Clements wrote= : >> Here's the reworked patch series that uses atomic sections more >> heavily rather than changing the removal API. =A0This is atomic-new-v6 >> on http://awakening.csail.mit.edu/git/notmuch.git . >> >> (I was planning to make this series on Monday while stuck on a plane, >> but an opportunity presented itself when I needed something better to >> do than fix the sink. =A0As a result, if you can look over this before >> Monday, I can use that time to address any further comments.) >> >> The beginning of the sequence---"test: Fix message when skipping >> test_expect_equal* tests" through "new: Defer updating directory >> mtimes until the end."---has not changed besides than the minor things >> you pointed out earlier. =A0Here's a quick summary of the differences in >> the rest of the sequence: >> >> lib: Add notmuch_database_{begin,end}_atomic. >> =A0Rebased but otherwise identical. >> >> lib: Add support for nested atomic sections. >> =A0New. >> >> lib: Indicate if there are more filenames after removal. >> =A0Rebased but otherwise identical. >> >> lib: Remove message document directly after removing the last file >> name. >> =A0New. =A0Supersedes the patches that rewrote >> =A0notmuch_database_remove_message and made sync delete messages. >> >> lib: Add an API to find a message by filename. >> =A0Culled from "lib: Add API's to find by filename and ..." in the old >> =A0series. =A0What I kept is identical. >> >> lib: Wrap notmuch_database_add_message in an atomic section. >> =A0New. >> >> new: Cleanup. Put removed/renamed message count in add_files_state_t. >> new: Cleanup. De-duplicate file name removal code. >> =A0Both new, but closely related to previous remove_filename patch. >> >> new: Synchronize maildir flags eagerly. >> =A0New, but very closely related to previous patch of the same name. >> =A0This patch is simpler now because of the previous two cleanups. >> >> new: Wrap adding and removing messages in atomic sections. >> =A0Rebased and added an atomic section around removal. >> >> lib: Improve notmuch_database_{add,remove}_message documentation. >> =A0New. >> >> Ultimately, I still think the existing removal API is weird because it >> forces you to do things like lookup a message by file name just in >> case you need that message object after removal tells you that it >> didn't actually remove the message. =A0But I don't know what to do about >> it that isn't equally weird. >> >> _______________________________________________ >> notmuch mailing list >> notmuch@notmuchmail.org >> http://notmuchmail.org/mailman/listinfo/notmuch >> >