From 609b4442ed80729d6575442390faa721871cd8d6 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Mon, 3 Dec 2012 19:58:55 +1900 Subject: [PATCH] [PATCH 00/10] CLI output versioning --- 9f/a2b0331ee5d96c503437a5ac3f118a5bc1c242 | 97 +++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 9f/a2b0331ee5d96c503437a5ac3f118a5bc1c242 diff --git a/9f/a2b0331ee5d96c503437a5ac3f118a5bc1c242 b/9f/a2b0331ee5d96c503437a5ac3f118a5bc1c242 new file mode 100644 index 000000000..b402ad28f --- /dev/null +++ b/9f/a2b0331ee5d96c503437a5ac3f118a5bc1c242 @@ -0,0 +1,97 @@ +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 F0958431FBC + for ; Sun, 2 Dec 2012 16:59:03 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +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 irq0lpjO9sZX for ; + Sun, 2 Dec 2012 16:59:03 -0800 (PST) +Received: from dmz-mailsec-scanner-1.mit.edu (DMZ-MAILSEC-SCANNER-1.MIT.EDU + [18.9.25.12]) + by olra.theworths.org (Postfix) with ESMTP id 71EB1429E2E + for ; Sun, 2 Dec 2012 16:58:59 -0800 (PST) +X-AuditID: 1209190c-b7f886d000000936-48-50bbf9527ced +Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) + by dmz-mailsec-scanner-1.mit.edu (Symantec Messaging Gateway) with SMTP + id 0F.45.02358.259FBB05; Sun, 2 Dec 2012 19:58:58 -0500 (EST) +Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) + by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id qB30wvcX018780 + for ; Sun, 2 Dec 2012 19:58:58 -0500 +Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91]) + (authenticated bits=0) + (User authenticated as amdragon@ATHENA.MIT.EDU) + by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id qB30wtvE011024 + (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) + for ; Sun, 2 Dec 2012 19:58:57 -0500 (EST) +Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.80) + (envelope-from ) id 1TfKN5-0006SF-ED + for notmuch@notmuchmail.org; Sun, 02 Dec 2012 19:58:55 -0500 +From: Austin Clements +To: notmuch@notmuchmail.org +Subject: [PATCH 00/10] CLI output versioning +In-Reply-To: <1354416002-3557-1-git-send-email-amdragon@mit.edu> +References: <1354416002-3557-1-git-send-email-amdragon@mit.edu> +User-Agent: Notmuch/0.14+100~gcb9b0b0 (http://notmuchmail.org) Emacs/23.4.1 + (i486-pc-linux-gnu) +Date: Sun, 02 Dec 2012 19:58:55 -0500 +Message-ID: <87pq2sx86o.fsf@awakening.csail.mit.edu> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Brightmail-Tracker: + H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsUixG6nrhv0c3eAQfMROYvrN2cyOzB6PFt1 + izmAMYrLJiU1J7MstUjfLoEro6V9N1vBd86KZWu+sjYwTuPoYuTkkBAwkTjcMo8RwhaTuHBv + PVsXIxeHkMA+Roll95YzQThnGSWa+x+zQjjvmCRuX+qAyhxilFh7aBoTSD+bgIbEtv3LwWaJ + CEhL7Lw7mxXEFhbQkTj+7h/QXA4OTgEHiRXdPCBhIQF7if+/r4GFRQXiJS4vVQAJswioSsxt + OcoCEuYFum7jd0OQMK+AoMTJmU9YQGxmAS2JG/9eMk1gFJiFJDULSWoBI9MqRtmU3Crd3MTM + nOLUZN3i5MS8vNQiXUO93MwSvdSU0k2MoNDjlOTZwfjmoNIhRgEORiUe3gdfdgcIsSaWFVfm + HmKU5GBSEuVt/wYU4kvKT6nMSCzOiC8qzUktBnqbg1lJhHdxBVCONyWxsiq1KB8mJc3BoiTO + eznlpr+QQHpiSWp2ampBahFMVoaDQ0mCt/gHUKNgUWp6akVaZk4JQpqJgxNkOA/Q8FiQGt7i + gsTc4sx0iPwpRkUpcd5ZIAkBkERGaR5cLyw1vGIUB3pFmJcHpIoHmFbgul8BDWYCGvxCCGxw + SSJCSqqBMTRP6sO3J21vkz/mG65Zv8Bz8rmpvtnJ759GfC2P7TF+unuy5yluuy0yunPP3Uo5 + tjNn8U/e6ZOUvWfd7J/1+Ca/kN217eudjt9UO7nbje9L9/8lsnd3FloJ/NzutUNng8i8wPBd + 3nyaL0Ptc/SfeX2b9mbRj4or7R37Fy1YHbM0Lf+ri7zvWS4lluKMREMt5qLiRACmvkQ/6AIA AA== +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: Mon, 03 Dec 2012 00:59:04 -0000 + +(Sorry; I forgot to include a cover letter.) + +This series is intended to help with our long-standing output format +versioning issue. While the JSON format is amenable to extension, +there's still a high barrier to extensions because of the need to +support them going forward, and an even higher barrier to modifications +that break backwards compatibility. Versioning will make the format +more dynamic, enabling us to easily improve and iterate on it. It will +also address the slew of confusing bugs that people encounter when they +use a mismatched CLI and front-end. + +On IRC we've talking about adding version information to the output +format itself. This series takes a different and, I think, better +approach: callers request a specific output format version on the +command line. This allows notmuch to remain backwards compatible with +older format versions when it's easy or necessary. This also doesn't +require shoehorning a version number into the output, which would be +awkward for both the CLI and the consumer. + +I called the argument --use-schema, but I'm open to other suggestions. +--use-schema is technically accurate, but perhaps not as self-describing +as something like --schema-version or --format-version (to parallel +--format). -- 2.26.2