- Removed backlog file processing, which slows down processing. When
2.1 has taskd support, the backlog will be cleared, but until then there
is no point in accumulating transactions.
- Fixed merge, with an egregious hack for now, by creating zero-byte undo.data
file. This goes against the whole TDB2 philosophy, so it is temporary.
- Updated PUNCHLIST.
- Removed old tdb comment from CmdMerge.
- Fixed a bug, or rather a side-effect of more efficient i/o. Now that
a TDB2::GC call does not write out files until the final TDB2::commit,
the GC has the effect of not modifying task IDs based on shuffling tasks
between pending.data and completed.data until the next command. Fixed.
- Implemented the import-yaml.pl external script.
- Added unit tests.
- Fixed problem where the pending tasks were not loaded prior to uuid
verification.
- Fixed a silly bug whereby TDB2::gc, once it loaded the data, wiped the TF2
objects, such that TDB2::commit didn't know there was data to write.
Hmm. Time for a vacation.
- Fixed validation bug whereby recurring child tasks inherited the
parent status ("recurring") instead of the expected "pending".
- Modified 'add' command to code duplicated in Task::validate.
- Cleaned up associated bug.period.t unit test.
- Stubbed the undo implementation in TB2::revert (undo as a name is
already taken), and in the process lose the capability.
- Add detection of <modifications> when running the 'undo' command
and generate an error.
- Corrected maintenance of the _lines vector during TDB2::add_line.
- Implemented TDB2::modify_task undo maintenance.
- Added unit tests for TDB2. Which fail.
- Full implementation of TDB2::add, which includes pending/completed, undo
and backlog.
- Removed obsolete TF2::commitUndo, which is no longer necessary.
- Added File::truncate method, to allow a TDB2 shortcut.
- Added a diagnostic dump of the TDB2 state in debug mode.
- Added a call to TDB2::dump at the start of TDB2::commit.
- Removed unnecessary calls to TDB2::dump.
- Change the was performance measurements are taken. This in preparation
to automated daily perf charts, leading to efforts to speed up certain
operations.
- Converted CmdCustom to use TDB2, which means that for the first time,
2.0 is now optimizing data load based on filter characteristics. This
means that "task list" and "task next" etc are now *fast*.
- Improved diagnostics for TDB2, for debugging.
- TDB2::load_lines was splitting the text on \n, but because the last
line contains \n, there was an additional blank line. This is what
split_minimal is for.
- split_minimal contained a copy/paste bug that added the extra line
if the input was non-trivial, instead of if the remainder was non-
trivial.
- Fixed incorrect unit test accordingly.
- Commented out troublesome "distance_from_command" code.
- Commented out DOM diagnostics, for now.
- Commented out TDB2 diagnostics, for now.
- Category "seq" arguments are now assigned type "exp".
- All type "exp" arguments are now tokenized.
- Implemented Command::filter_shortcut to detect when a filter begins
with "status:pending" and skip the loading/parsing of completed.data.
- Removed obsolete att.t.cpp tests.
- Removed diagnostics from TDB2::TDB2 that were causing a segfault.
I suppose there is no std::cout available during global ctors?
- Implemented CmdAdd.cpp and CmdLog.cpp using TDB2.
- Implemented simple append writes in TDB2.
- Modified CmdImport to accept and parse JSON.
- Added more const-ness in DOM, Expression and Task, to allow TDB2::get_tasks
to return a const vector ref, which is a Very Good Thing.
- Corrected usage for the export command.
- Implemented Task::urgency as a call to Task::urgency_c, which is a const
overload to allow urgency calculations (without caching) for const Task
objects.
- Removed obolete code from TDB.
- Added lots of diagnostic output for TDB2 - it's annoying, but will be
gone soon.
- Added mention in CmdHelp of the new <filter> and <modifications>
syntax elements. Needs more.
- Added Command::filter overload which uses TDB2. Not in use yet.