Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: > The other concern is our conception of how properties are unset/removed, > right? > > With tags, it's possible to include -blah to remove the tag "blah". how > do we remove/clear/overwrite these tags? what about using +key=val or > -key=val to set/unset certain key/value combinations, and a value-less > key= to remove all values matching a given key? > msg-id -blah is only possible if using notmuch-tag; notmuch restore takes a strict subset of the input format for "notmuch tag --batch". I'm not sure if generic property manipulation from the CLI is mandatory, or at least I'm not sure it's a blocker for including the feature. If/when we do decide to support it, I'm not sure if should be wedged into notmuch-tag, or rather added to a new "notmuch-property" subcommand. Such a subcommand could take additional options and/or have a richer syntax than used in the dump file. I can imagine initial support with just an API, and some python bindings. This could already be used by some reference manipulation UI. The dump-restore support is more part of the backend in my mind, because we don't want people to think they've backup their data when they haven't.