From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 5C31C6DE01F5 for ; Tue, 8 Jan 2019 15:54:21 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -2.592 X-Spam-Level: X-Spam-Status: No, score=-2.592 tagged_above=-999 required=5 tests=[AWL=-0.196, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_EXCESS_BASE64=0.105, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8IBoWb2SvxyU for ; Tue, 8 Jan 2019 15:54:19 -0800 (PST) Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by arlo.cworth.org (Postfix) with ESMTPS id 862346DE004D for ; Tue, 8 Jan 2019 15:54:18 -0800 (PST) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id E9F2B16005D for ; Wed, 9 Jan 2019 00:54:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1546991655; bh=MbA7mKMP9knUO89DJlYn6oLSDE9rdAZ6i4OPNmSyyc8=; h=From:To:Subject:Date:From; b=GRdOLfDkDZTr3WG1zbZ+m81w4Agiw8fNEIW0cE1pIKOYOno/5icVpRpXC1EXNjFqm sf1yfAd9OtYdrAwInH1R1BN5Wmy4qb1jAJNRCBmv62uJ8FSh3H5Kmt59og/2uQ8WUW YClIOLJU74Em1lbNeoRIK7nQ06xYKM6BzvazoJe/U5LuFoez1tt9b6YnE9nQCCCrL+ +tEkO1x986i/0AQ6hd4Z719Rl6g6mxKEwKWwUCVSBuBcXAzKufzPd6igVuJWNcFS8t 4TM0NgRvH91BW0DHVyTal/DTJ+Rlm+skdwrp6SAmMqHaHVHFE3zzkvWB1tkgHUKvcH YX7BsEjHkH9QA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 43Z8HT4G81z6tm8 for ; Wed, 9 Jan 2019 00:54:12 +0100 (CET) From: Dan =?utf-8?B?xIxlcm3DoWs=?= To: notmuch@notmuchmail.org Subject: Re: How do you synchronize your notmuch tags across multiple machines? In-Reply-To: <87a7keifhh.fsf@ta.scs.stanford.edu> References: <87d0pzwykt.fsf@cgc-instruments.com> <87mup3bqmh.fsf@ra.horus-it.com> <8636qv5juu.fsf@lama-e29.univ-savoie.fr> <87pntd74wt.fsf@cgc-instruments.com> <87imz47d2s.fsf@cgc-instruments.com> <87a7keifhh.fsf@ta.scs.stanford.edu> Date: Wed, 09 Jan 2019 00:54:00 +0100 Message-ID: <87sgy24sfb.fsf@cgc-instruments.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 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: Tue, 08 Jan 2019 23:54:21 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable David Mazieres writes: > Dan =C4=8Cerm=C3=A1k writes: > >> Could you maybe elaborate in more detail, as I don't know how it would >> help me exactly? Are you running a server for syncing your tags? >> >> My problem is the following: I have 3 machines E, B and C of which none >> is always up and running. I would like to be able to sync my email on >> any of the machines with offlineimap (but always only with one syncing) >> and to transfer what's missing to the others, once I switch the >> currently used machine. > > The problem is that muchsync doesn't know about imap or offlineimap. > Muchsync will happily ensure that all of your notmuch maildirs and tags > are synchronized. But if you run offlineimap on E and then sync E to B, > B will already have a copy of all new messages. If you run offlineimap > on B then, it will download additional copies of the messages already > synchronized over muchsync. > > One solution would be to archive all the messages downloaded with > offlineimap as you download them. But then you have to remember to run > muchsync to upload them to other machines, or you risk losing track of > messages if you download them to a machine that you then immediately > turn off. > > I'm open to other ideas if they require some kind of new feature from > muchsync, but I'm worried that this would require delving into the guts > of offlineimap (and then wouldn't work with other solutions like isync). > I am afraid that you are right in terms of delving into offlineimap/isync/etc. I have experimented a little with offlineimap + muchsync, but I couldn't get offlineimap to recognize messages that muchsync downloaded. My guess is that offlineimap keeps a separate UID database somewhere, that muchsync would have to write to. Messing with offlineimap's internal state sounds wrong to me. > The ideal solution would be to implement an imap server on top of > libnotmuch. If we had that, then you could just use offlineimap and > isync through the imap (as opposed to file system) interface, and > everything will just work. Stupid question: how would the tags be synced with your local machines in this case? Via muchsync or would one keep the tags on the notmuch-imap server? > That would also have the benefit of making > notmuch work really well with phones--you could use the gmail app on > your phone and the emacs/vim front-end on your desktop. It's even > conceivable that such an imap server could use notmuch's indexing to > support the gmail imap extensions: > > https://developers.google.com/gmail/imap/imap-extensions > > Unfortunately, implementing an imap server is a bit beyond the scope of > muchsync and not something I have time for right now. > > David How about a hacky and not ideal solution: "teach" notmuch to not only synchronize the read and deleted tags with the maildir, but all tags? E.g. by injecting a header into the email? I would guess that this is simpler to implement then an IMAP server, but it carries its own set of problems (iirc there were discussions about such an idea on this list but were discarded for reasons that I don't remember). For instance I don't know whether one could even push tags to the server, as one would have push the whole message back. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE/2KDnDCX6+IOiSay5jLDOAYQ0cUFAlw1OBkACgkQ5jLDOAYQ 0cWTEQ/9EUdiXP7GoAAJ6sXHhdgfISQXysc8dnC4KSWlXx98vTk9aEFDM8bJpqt6 PlrSnaybJaYhDl870V0Mpa3jw8HoMhOLMriG27Cvrz0e94R23yt2Qx41hjwgRAUG E1RRd1NN0szwUrDmsSx91qFUCbgg8gRffd5XqY9+BirlV3w8VJayGaIkSA1nbqOL 2O+WhQat0RRNDsRtZTIP0ttV/NHwE+bkPhUrwDQMxQHcZp/pDNatBFE8myiFOfUs CC8QxU4gasOBl18alG5/XzxuQ2zDxHCwAtlv4Z9ntvN4aiDpzMa15Pf6krmNKYdt SqKOdyi2JW4eZ098+HseBnLIz5AVrStTgyOVTsVx5EMvVo4ca0loueHw56k+LP8w q5zD75LUhRit2xJ4RPgtbWwCMU3UdwgdKHP4twCuI6n+cnSt00JOJpQd5sDO6qav QW+Z/3HPJCrqzzGRWUCromaNcUEnjHU6L0T8tlBHb61e2P5Ghazk3TsfOkXDEH7X tpy/vCSLeKLFsbO/4L1Yw31lVagEqjks8p7KuzhognT7p4djytB55FGoyUCE+COM pdmxz52WI14NvXvQcG1ZOoP08xXp261+vOJ11TNG7aGzNG1vjh9RU8vJAmFPEbt5 VdHj1++1qDabqRVX/rJ/RkIGhfS/trNrfNMkcHXvZKD8TgvcTOw= =zZdn -----END PGP SIGNATURE----- --=-=-=--