notmuch-lazysync -- synchronizing tags using dropbox
authorDaniel Schoepe <daniel@schoepe.org>
Tue, 21 Jul 2015 18:41:51 +0000 (20:41 +0200)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:49:11 +0000 (14:49 -0700)
48/1c66f599f16b313ddf2681e1b50dabbe665f98 [new file with mode: 0644]

diff --git a/48/1c66f599f16b313ddf2681e1b50dabbe665f98 b/48/1c66f599f16b313ddf2681e1b50dabbe665f98
new file mode 100644 (file)
index 0000000..f61bea1
--- /dev/null
@@ -0,0 +1,102 @@
+Return-Path: <daniel@schoepe.org>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id B6D5E6DE0B27\r
+ for <notmuch@notmuchmail.org>; Tue, 21 Jul 2015 11:42:02 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.485\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.485 tagged_above=-999 required=5 tests=[AWL=0.336,\r
+  DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+ RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\r
+ SPF_PASS=-0.001] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id bWt03sDXP5eO for <notmuch@notmuchmail.org>;\r
+ Tue, 21 Jul 2015 11:42:00 -0700 (PDT)\r
+Received: from mail-la0-f49.google.com (mail-la0-f49.google.com\r
+ [209.85.215.49])\r
+ by arlo.cworth.org (Postfix) with ESMTPS id E36B26DE0A87\r
+ for <notmuch@notmuchmail.org>; Tue, 21 Jul 2015 11:41:59 -0700 (PDT)\r
+Received: by laem6 with SMTP id m6so123700398lae.0\r
+ for <notmuch@notmuchmail.org>; Tue, 21 Jul 2015 11:41:55 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=schoepe.org; s=google;\r
+ h=from:to:subject:user-agent:date:message-id:mime-version\r
+ :content-type:content-transfer-encoding;\r
+ bh=d/x9MapIirik+tKeTclvm8rMh1Rxv/T9RglfS5JVbRE=;\r
+ b=D6Gyv6Q5vrXrUmx2+3eEMRSa5am+ZsmwY68iDxbyQsjtEWE8JzU+StVkpz9HNzfYPq\r
+ 1I9AQfNYKRyNdbdxQysbFDHJ1cXrhKo/JHCHkvMDpcOiWHTjBvYYZBfP5KhOSzb901Bf\r
+ HHy5S20g9Or/kNUsL+auvkTmOywdr0gp9RKxU=\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+ d=1e100.net; s=20130820;\r
+ h=x-gm-message-state:from:to:subject:user-agent:date:message-id\r
+ :mime-version:content-type:content-transfer-encoding;\r
+ bh=d/x9MapIirik+tKeTclvm8rMh1Rxv/T9RglfS5JVbRE=;\r
+ b=OOj7RurkrdJHvrSTra9s5dZSuweNM99RJuHrMlyxP+RQgcKm4mvU+oQsi1IFY8WC8J\r
+ 1onUIy6fidNaPYTSb6sqyaxl7Telcbv84tgpiQjVvVpm26kn6fnF74HR8L1MbjES1LUE\r
+ Mms/B4a6THSJg4LaM9ioC10a0HHsfP5W5euqMzZ5E0qHfKJ0i80dpIkxhO0V6qaDBjVn\r
+ drHQqudeZw3t/rDf/zZ42xTN5D8L/64M9rS1bd39/sidO0sc+GWB2SOr4w1VVnsh4M7U\r
+ pOlHreEKYMlT+1xwCcACRQvKe8PBW2pY4qJmpgRrd/AzNZMc27n9Q9aHWgU3mvLdgqcc\r
+ S44Q==\r
+X-Gm-Message-State:\r
+ ALoCoQnndUatMf0h9f3i3PrqfQZDK8DlwD42IBEHMA+7ZzHwNdihm0IkGYEuRsgMEyMcM4P9HvWY\r
+X-Received: by 10.112.8.108 with SMTP id q12mr10384481lba.113.1437504114546;\r
+ Tue, 21 Jul 2015 11:41:54 -0700 (PDT)\r
+Received: from localhost (rd19.odn.sgsnet.se. [46.239.97.207])\r
+ by smtp.gmail.com with ESMTPSA id o5sm6165304lag.9.2015.07.21.11.41.52\r
+ for <notmuch@notmuchmail.org>\r
+ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\r
+ Tue, 21 Jul 2015 11:41:52 -0700 (PDT)\r
+From: Daniel Schoepe <daniel@schoepe.org>\r
+To: <notmuch@notmuchmail.org>\r
+Subject: notmuch-lazysync -- synchronizing tags using dropbox\r
+User-Agent: Notmuch/0.20.2 (http://notmuchmail.org) Emacs/24.5.1\r
+ (x86_64-unknown-linux-gnu)\r
+Date: Tue, 21 Jul 2015 20:41:51 +0200\r
+Message-ID: <87a8upjqts.fsf@schoepe.localhost>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Transfer-Encoding: quoted-printable\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.18\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Tue, 21 Jul 2015 18:42:02 -0000\r
+\r
+Hi,\r
+\r
+I needed a way to synchronize notmuch tags between machines without\r
+having to sync all my mail as well (=C3=A0 la muchsync) and without using\r
+Gmail labels for this. As a result, I ended up writing a small tool to\r
+do this by using normal file synchronizers like seafile[1] or dropbox to\r
+do the actual synchronization (since I was too lazy to (re)implement\r
+this).\r
+\r
+Since it's impractical to have the entire notmuch database synchronized\r
+through dropbox, the tool uses a small sqlite database to record tag\r
+commands performed on one machine and replay them on the others. This\r
+works well if mail sorting is done on each machine separately and only\r
+tag modifications performed in the frontend need to be recorded. The way\r
+tag changes are logged is a bit of a hack, but it could be improved in\r
+the future by adding a post-tag hook to notmuch.\r
+\r
+More information can be found on github:\r
+\r
+https://github.com/dschoepe/notmuch-lazysync\r
+\r
+I hope someone else finds this useful as well.\r
+\r
+Best regards,\r
+Daniel\r
+\r
+[1] https://www.seafile.com/en/home/\r