- Fixed bug whereby the start, stop and delete commands were not
complaining when filter arguments were specified, even though they
were ignored. Thanks to Charles T. Yun.
- Fixed bug that prevented the chaining of two attributes with
different modifiers to effect a date range, such as:
task ls due.after:8/1/2009 due.before:8/31/2009
Thanks to John Florian.
- Fixed bug in modify and append that was erroneously reporting "No
changes" when a bulk update occurred.
- Added bug.bulk.t unit tests to cover this example.
- t.t.cpp was throwing an error because UUID is no longer set in Task::Task
and so the sample task t3 was 'empty', which doesn't sit well with the
round trip testing.
- Fixed bug that was causing more non-unique UUIDs. Here are the
changes made:
- Task.cpp, tasks are no longer provided with a UUID in Task::Task.
This prevents the global context.task from being constructed before
srandom/srand is called.
- main.cpp, instead of srandom/srand (time (NULL)), it now uses
struct timeval tv_usec member, which has a micro-second granularity,
instead of time (NULL) which has a second granularity. When
"task add ..." is called in a unit test, several calls are made per
second, this the random number generator is seeded with the same
value.
- Modified the unit test to cover all 6 tasks created, instead of
5.
- Implemented confirmation on big changes. That means if the description is
changed, or more than 2 tasks are modified in a single command.
- Implemented taskDiff to detect differences between two tasks.
- Implemented taskDifferences to describe differences between two tasks.
- The next report is now a custom report. There is also a nasty
piece of logic that lets the next report exist as a custom report,
and also with it's own handleReportNext function to prep and filter
the tasks, then hand off to runCustomReport.
- Fixed oldest.t unit tests that relied on "task oldest 3" instead of
the new "task oldest limit:3".
- Fixed tag.t so that it uses example tags +one +two instead of the
original +1 +2, because when it comes time to remove those tags
with -1 -2, the tags are interpreted as a malformed sequence.
- Fixed but that required all known attributes to be listed by name
in order to be recognized by creating new Att::validInternalName
method.
- Fixed bug in non-global Subst that failed to save a modified
annotation.
- Fixed bug where "foo:bar" was not recognized as an attribute, and
generated an error rather than demoting is to part of the description.
- Fixed bug where en-passant deltas were applied only to the first task
in a sequence.
- Fixed various unit test.
- Implemented import command
- Implemented Context::clearMessages to remove all accumulated
messages. This is needed because parts of the import process are
recursive and we don't want Context to dump messages for every
import record on completion.
- Corrected export unit test to account for the new syntax of the export
command, which no longer accepts a file name argument, and send the report to
stdout instead.