<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-tag.c, branch 0.16_rc2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.16_rc2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.16_rc2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2013-06-29T17:36:07Z</updated>
<entry>
<title>tag-util: move out 'tag' command-line check</title>
<updated>2013-06-29T17:36:07Z</updated>
<author>
<name>Peter Wang</name>
<email>novalazy@gmail.com</email>
</author>
<published>2013-06-23T04:23:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e8efa11da90fa47adcbc489638320d61ac98391a'/>
<id>urn:sha1:e8efa11da90fa47adcbc489638320d61ac98391a</id>
<content type='text'>
Move an error condition specific to the 'tag' command out of
parse_tag_command_line so that parse_tag_command_line can be used for
the forthcoming 'insert' command.
</content>
</entry>
<entry>
<title>cli: add --remove-all option to "notmuch tag"</title>
<updated>2013-03-30T22:33:59Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2013-03-09T14:56:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=268666a071db33c5ce6a01b052d9a19c184e10f6'/>
<id>urn:sha1:268666a071db33c5ce6a01b052d9a19c184e10f6</id>
<content type='text'>
Add --remove-all option to "notmuch tag" to remove all tags from the
messages matching query before applying the tag changes. This allows
removal of all tags and unconditional setting of the tags of a
message:

$ notmuch tag --remove-all id:foo@example.com
$ notmuch tag --remove-all +foo +bar id:foo@example.com

without having to resort to the complicated (and still quoting
broken):

$ notmuch tag $(notmuch search --output=tags '*' | sed 's/^/-/') \
  id:foo@example.com
$ notmuch tag $(notmuch search --output=tags '*' | sed 's/^/-/') \
  +foo +bar id:foo@example.com
</content>
</entry>
<entry>
<title>cli: make caller check tag count in parse_tag_command_line</title>
<updated>2013-03-30T22:33:40Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2013-03-09T14:56:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a6822eccaca773aa03473bca490618e30dac24ca'/>
<id>urn:sha1:a6822eccaca773aa03473bca490618e30dac24ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cli: move config open/close to main() from subcommands</title>
<updated>2013-03-08T11:54:41Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2013-03-03T21:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4ef2106792439f5ade157b3ba3b8f7fa86fcb3ed'/>
<id>urn:sha1:4ef2106792439f5ade157b3ba3b8f7fa86fcb3ed</id>
<content type='text'>
This allows specifying config file as a top level argument to notmuch,
and generally makes it possible to override config file options in
main(), without having to touch the subcommands.

If the config file does not exist, one will be created for the notmuch
main command and setup and help subcommands. Help is special in this
regard; the config is created just to avoid errors about missing
config, but it will not be saved.

This also makes notmuch config the talloc context for subcommands.
</content>
</entry>
<entry>
<title>cli: config: make notmuch_config_open() "is new" parameter input only</title>
<updated>2013-03-07T13:39:12Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2013-03-03T21:55:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e76f6517de020783d828be59f461f1d4f465c4b4'/>
<id>urn:sha1:e76f6517de020783d828be59f461f1d4f465c4b4</id>
<content type='text'>
We now have a notmuch_config_is_new() function to query whether a
config was created or not. Change the notmuch_config_open() is_new
parameter into boolean create_new to determine whether the function
should create a new config if one doesn't exist. This reduces the
complexity of the API.
</content>
</entry>
<entry>
<title>notmuch-tag: initialize with enum instead of 0</title>
<updated>2013-01-19T18:20:42Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2013-01-19T13:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=be8a9ab0e63cf85239a43b7a4d92cc646c2417e7'/>
<id>urn:sha1:be8a9ab0e63cf85239a43b7a4d92cc646c2417e7</id>
<content type='text'>
This is just a cosmetic fix to make the "type" of ret more clear.
</content>
</entry>
<entry>
<title>cli: propagate batch tagging warnings to exit value</title>
<updated>2013-01-14T23:47:14Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2013-01-12T07:40:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4b5b6f02cc943b83270ad5061166e5d9967b2899'/>
<id>urn:sha1:4b5b6f02cc943b83270ad5061166e5d9967b2899</id>
<content type='text'>
In case last input for batch tagging was either invalid or skippable
line, notmuch command exited with non-zero value.
After this change if there is at least one invalid line, notmuch
command will exit with non-zero value. Additionally, skipped lines
(last or other) doesn't cause non-zero value to be returned.
</content>
</entry>
<entry>
<title>cli: bail out and propagate tagging errors in notmuch tag</title>
<updated>2013-01-10T03:08:48Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2013-01-08T21:41:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4e9fe60422d9092737550bd8a3b8525ee2a20daf'/>
<id>urn:sha1:4e9fe60422d9092737550bd8a3b8525ee2a20daf</id>
<content type='text'>
Checking and propagating tag_op_list_apply() errors is especially
important with batch tagging, as the processing of the batch input
would not stop otherwise. Additionally this sets the exit code, which
is useful in scripts.

Amended by: David Bremner
</content>
</entry>
<entry>
<title>cli: add support for batch tagging operations to "notmuch tag"</title>
<updated>2013-01-08T00:48:54Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2012-12-25T19:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3f9cc3d082b812d2c96a2326786501056cd4caca'/>
<id>urn:sha1:3f9cc3d082b812d2c96a2326786501056cd4caca</id>
<content type='text'>
Add support for batch tagging operations through stdin to "notmuch
tag". This can be enabled with the new --batch command line option to
"notmuch tag". The input must consist of lines of the format:

+&lt;tag&gt;|-&lt;tag&gt; [...] [--] &lt;query&gt; [...]

Each line is interpreted similarly to "notmuch tag" command line
arguments. The delimiter is one or more spaces ' '. Any characters in
&lt;tag&gt; MAY be hex encoded with %NN where NN is the hexadecimal value of
the character. Any ' ' and '%' characters in &lt;tag&gt; and MUST be hex
encoded (using %20 and %25, respectively). For future-proofing, any
'"' characters in &lt;tag&gt; SHOULD be hex-encoded.

Any characters that are not part of &lt;tag&gt; or
MUST NOT be hex encoded.

&lt;query&gt; is passed verbatim to Xapian

Leading and trailing space ' ' is ignored. Empty lines and lines
beginning with '#' are ignored.

Signed-off-by: Jani Nikula &lt;jani@nikula.org&gt;

Hacked-like-crazy-by: David Bremner &lt;david@tethera.net&gt;
</content>
</entry>
<entry>
<title>notmuch-tag.c: convert to use tag-util</title>
<updated>2013-01-08T00:42:21Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2012-12-25T19:42:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e9b6e464745fdebd4c6367dfc731859fe390b531'/>
<id>urn:sha1:e9b6e464745fdebd4c6367dfc731859fe390b531</id>
<content type='text'>
Command line parsing is factored out into a function
parse_tag_command_line in tag-util.c.

There is some duplicated code eliminated in tag_query, and a bunch of
translation from using the bare tag_op structs to using that tag-utils
API.
</content>
</entry>
</feed>
