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 2342E431FDD for ; Sun, 3 Nov 2013 04:25:49 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" X-Spam-Flag: NO X-Spam-Score: -0.7 X-Spam-Level: X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 tests=[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 yOCx0oTxLJva for ; Sun, 3 Nov 2013 04:25:43 -0800 (PST) Received: from mail-ee0-f43.google.com (mail-ee0-f43.google.com [74.125.83.43]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id B141A431FBF for ; Sun, 3 Nov 2013 04:25:18 -0800 (PST) Received: by mail-ee0-f43.google.com with SMTP id b47so582454eek.16 for ; Sun, 03 Nov 2013 04:25:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=0JB2ZzawPIouY6NvmqrRui1+ge8R9xGhl9qz5SRR5hQ=; b=XhtarUtEQutoYba80XKCCDPhPycNh8GJCOrK6yR7tC0PAAy1LED6eM6gJiwagPf1JF AVfvywCeq5Z1gk4LB+ll3agEfx7M1LtIB3hAen5s5E6QqgAfSPrlXyPlICKdF86N7Dx0 0/FPV6JkxeiUxJyVjOqFNnu5CI9Tg7PY7E3KJCM3nvz9oWxq6ZINDUrstY+nw/9FCIfb UH+WYPfhlNM+ocJmiHK3nJX8LEJWHyICWY2yyixZzzhVVknzm7XQ1UAdx/AuyqhPF3NW Gy5QMRfUupQNDtGEZP2npbeVEA9M1AIztKAur9O1B4PdOk4xdlZXCYu7buKRjNR4RuXP CqZg== X-Gm-Message-State: ALoCoQnzbGTHD0x06St8avDC4qfTtBRrouMzcntVeGpnHViLC8l3UFl7Y0JbX1cVCyp+6De/vIjR X-Received: by 10.14.246.11 with SMTP id p11mr12725703eer.9.1383481517576; Sun, 03 Nov 2013 04:25:17 -0800 (PST) Received: from localhost (dsl-hkibrasgw2-58c36f-91.dhcp.inet.fi. [88.195.111.91]) by mx.google.com with ESMTPSA id bn13sm32810609eeb.11.2013.11.03.04.25.16 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 03 Nov 2013 04:25:17 -0800 (PST) From: Jani Nikula To: notmuch@notmuchmail.org Subject: [PATCH v2 09/11] cli: add compact --backup=DIRECTORY option, don't backup by default Date: Sun, 3 Nov 2013 14:24:49 +0200 Message-Id: X-Mailer: git-send-email 1.8.4.rc3 In-Reply-To: References: In-Reply-To: References: 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, 03 Nov 2013 12:25:49 -0000 It's the user's decision. The recommended way is to do a database dump anyway. Clean up the relevant printfs too. --- v2: reorder prints --- notmuch-compact.c | 27 +++++++++++++-------------- test/compact | 4 ++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/notmuch-compact.c b/notmuch-compact.c index b9461c2..359acfc 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.c @@ -27,16 +27,19 @@ status_update_cb (const char *msg, unused (void *closure)) } int -notmuch_compact_command (notmuch_config_t *config, - unused (int argc), - unused (char *argv[])) +notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]) { const char *path = notmuch_config_get_database_path (config); - const char *backup_path; + const char *backup_path = NULL; notmuch_status_t ret; + int opt_index; - backup_path = talloc_asprintf (config, "%s/xapian.old", path); - if (! backup_path) + notmuch_opt_desc_t options[] = { + { NOTMUCH_OPT_STRING, &backup_path, "backup", 0, 0 }, + }; + + opt_index = parse_arguments (argc, argv, options, 1); + if (opt_index < 0) return 1; printf ("Compacting database...\n"); @@ -46,14 +49,10 @@ notmuch_compact_command (notmuch_config_t *config, return 1; } - printf ("\n"); - printf ("\n"); - printf ("The old database has been moved to %s", backup_path); - printf ("\n"); - printf ("To delete run,\n"); - printf ("\n"); - printf (" rm -R %s\n", backup_path); - printf ("\n"); + if (backup_path) + printf ("The old database has been moved to %s.\n", backup_path); + + printf ("Done.\n"); return 0; } diff --git a/test/compact b/test/compact index afab537..ac174ce 100755 --- a/test/compact +++ b/test/compact @@ -10,7 +10,7 @@ notmuch tag +tag1 \* notmuch tag +tag2 subject:Two notmuch tag -tag1 +tag3 subject:Three -test_expect_success "Running compact" "notmuch compact" +test_expect_success "Running compact" "notmuch compact --backup=${TEST_DIRECTORY}/xapian.old" test_begin_subtest "Compact preserves database" output=$(notmuch search \* | notmuch_search_sanitize) @@ -21,7 +21,7 @@ thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" test_expect_success 'Restoring Backup' \ 'rm -Rf ${MAIL_DIR}/.notmuch/xapian && - mv ${MAIL_DIR}/xapian.old ${MAIL_DIR}/.notmuch/xapian' + mv ${TEST_DIRECTORY}/xapian.old ${MAIL_DIR}/.notmuch/xapian' test_begin_subtest "Checking restored backup" output=$(notmuch search \* | notmuch_search_sanitize) -- 1.8.4.rc3