Re: Last Call: <draft-ietf-appsawg-json-patch-08.txt> (JSON Patch) to Proposed Standard

Mark Nottingham <> Wed, 12 December 2012 01:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C0EE821E8094; Tue, 11 Dec 2012 17:14:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -104.001
X-Spam-Status: No, score=-104.001 tagged_above=-999 required=5 tests=[AWL=-1.402, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7YH6Qz16-oA9; Tue, 11 Dec 2012 17:14:53 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 18E2521E8030; Tue, 11 Dec 2012 17:14:53 -0800 (PST)
Received: from [] (unknown []) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 1A4DA22E1F4; Tue, 11 Dec 2012 20:14:45 -0500 (EST)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
Subject: Re: Last Call: <draft-ietf-appsawg-json-patch-08.txt> (JSON Patch) to Proposed Standard
From: Mark Nottingham <>
In-Reply-To: <>
Date: Wed, 12 Dec 2012 12:14:49 +1100
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <>
To: Barry Leiba <>
X-Mailer: Apple Mail (2.1499)
Cc: IETF discussion list <>, "" <>
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 12 Dec 2012 01:14:53 -0000

On 12/12/2012, at 12:01 PM, Barry Leiba <> wrote:
> I understand that this will change implementations -- patches that
> used to use "add" will now have to use "replace", and there's now no
> way to do "add this if it's not already there, and replace it if it is
> already there".

That was a very desirable feature for many people in the WG.

Personally -- to me, it seems like you're getting hung up on the word "add." We've had a few bits of feedback, where people try to map a particular meaning of one of the operation names to a programming language or other system. In this format, "add" means what the format definition says it means, because otherwise we have to rationalise all of the different systems people might use it with to make sense.

That said, if changing the operation name would make things easier, I'd be OK with that; e.g., "set." However, I suspect doing so would just raise issues from other people who are used to having "set" mean something slightly different.

> Perhaps there's a need to add something with those
> semantics.  On the other hand, as the text stands now, there's no way
> to do "add this only if it's not already there", because "test" can't
> test for existence.

We discussed having a test for existence in the WG, but there was agreement that it wasn't important enough to justify the added complexity. YMMV, of course.


Mark Nottingham