From: Peter Wang Date: Sun, 25 Nov 2012 01:16:26 +0000 (+1100) Subject: [PATCH v2 00/20] insert command X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=61f52599174c9c827f6aa05d3661db829dc814ad;p=notmuch-archives.git [PATCH v2 00/20] insert command --- diff --git a/19/e84f34fe2ef94c8d977e5a391996194d9b7f33 b/19/e84f34fe2ef94c8d977e5a391996194d9b7f33 new file mode 100644 index 000000000..f17c8ac31 --- /dev/null +++ b/19/e84f34fe2ef94c8d977e5a391996194d9b7f33 @@ -0,0 +1,128 @@ +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 1A57C431FCB + for ; Sat, 24 Nov 2012 17:17:08 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.799 +X-Spam-Level: +X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 + tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-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 BArc5nU+9uHf for ; + Sat, 24 Nov 2012 17:17:06 -0800 (PST) +Received: from mail-da0-f53.google.com (mail-da0-f53.google.com + [209.85.210.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id BC78D431FBF + for ; Sat, 24 Nov 2012 17:17:05 -0800 (PST) +Received: by mail-da0-f53.google.com with SMTP id x6so2305618dac.26 + for ; Sat, 24 Nov 2012 17:17:03 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; + h=from:to:cc:subject:date:message-id:x-mailer; + bh=3GUItFdm2276ugnKkw9CjhLciftag9VYm79knC4+hLo=; + b=mxYtJ+jV2UK9FJYFPcrF0pYLjeYj8QFdlqzh3o0mbvhHlibWjWU0QGhTBCmKaLKAyI + hbBF5sQnmDl3QuAobQijiTDCwWi1seQm/X7KMfZb+t60Ig7+DoM8UpwPF+VYG31crUx0 + 7c+hwzAq7YCC1GXASToItunPnnRpp91pXcfjGRx5zJyY8B4ZffqL8G7s7etY/VxOXxSz + F1KAL93QQ1OS+kE8fH9uiZbyR3UVTYEfeAorIKfZ2QT2FAVs+7JL0AtVmsRZj0hUqm5e + 9gNRyuA9uaVL8vLEGITzbApPqDDsZKrOdS4v23pZ+3U+bDFHDnxGPr1cSJYMjYLvzm5X + wlHw== +Received: by 10.68.232.201 with SMTP id tq9mr26485208pbc.12.1353806223801; + Sat, 24 Nov 2012 17:17:03 -0800 (PST) +Received: from localhost (215.42.233.220.static.exetel.com.au. + [220.233.42.215]) + by mx.google.com with ESMTPS id tm8sm6222674pbc.48.2012.11.24.17.17.00 + (version=TLSv1/SSLv3 cipher=OTHER); + Sat, 24 Nov 2012 17:17:02 -0800 (PST) +From: Peter Wang +To: notmuch@notmuchmail.org +Subject: [PATCH v2 00/20] insert command +Date: Sun, 25 Nov 2012 12:16:26 +1100 +Message-Id: <1353806206-29133-1-git-send-email-novalazy@gmail.com> +X-Mailer: git-send-email 1.7.12.1 +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: Sun, 25 Nov 2012 01:17:08 -0000 + +This series mainly addresses the issues raised by Mark: + +- check talloc failures +- deadlock in maildir_open_tmp +- stricter file modes (0600 and 0700) +- shared tag operation parser with notmuch-tag.c +- simplified mkdir_parents +- trap SIGINT +- fsync after writing and rename +- added a couple of tests +- man page wording +- comments + +Due to new restriction on tags beginning with '-', an argument beginning with +"--" is no longer ambiguous so I have removed the optional "--" separator +between options and tag operations. + +Peter Wang (20): + tag: factor out tag operation parsing + tag: make tag operation parser public + cli: add stub for insert command + insert: open Maildir tmp file + insert: copy stdin to Maildir tmp file + insert: move file from Maildir tmp to new + insert: add new message to database + insert: support --folder option + insert: prevent writes outside Maildir hierarchy + insert: apply default tags to new message + insert: parse command-line tag operations + insert: apply command-line tag operations + insert: add --create-folder option + insert: fsync after writing tmp file + insert: fsync new directory after rename + insert: trap SIGINT and clean up + insert: add copyright line from notmuch-deliver + test: add tests for insert + man: document 'insert' command + man: reference notmuch-insert.1 + + Makefile.local | 1 + + man/Makefile.local | 1 + + man/man1/notmuch-config.1 | 4 +- + man/man1/notmuch-count.1 | 4 +- + man/man1/notmuch-dump.1 | 4 +- + man/man1/notmuch-insert.1 | 60 +++++ + man/man1/notmuch-new.1 | 4 +- + man/man1/notmuch-reply.1 | 3 +- + man/man1/notmuch-restore.1 | 3 +- + man/man1/notmuch-search.1 | 3 +- + man/man1/notmuch-show.1 | 3 +- + man/man1/notmuch-tag.1 | 3 +- + man/man1/notmuch.1 | 3 +- + man/man5/notmuch-hooks.5 | 4 +- + man/man7/notmuch-search-terms.7 | 3 +- + notmuch-client.h | 12 + + notmuch-insert.c | 493 ++++++++++++++++++++++++++++++++++++++++ + notmuch-tag.c | 79 ++++--- + notmuch.c | 3 + + test/insert | 93 ++++++++ + test/notmuch-test | 1 + + 21 files changed, 733 insertions(+), 51 deletions(-) + create mode 100644 man/man1/notmuch-insert.1 + create mode 100644 notmuch-insert.c + create mode 100755 test/insert + +-- +1.7.12.1 +