- Added std::string::reserve in high-use locations.
- Used Task::get_date over Task::get where possible.
- Added missing code (bug) for waking up any completed tasks that are freshly
waited.
- Greater use of STL methods for bulk copying.
- Corrected performance measurement. The TDB2::gc requires data to
be loaded first, but load time is measured separately. This resulted
in repeat counting. Now the gc time subtracts any load time that is
accumulated *during* the gc. This is now a fair accounting of the time.
- 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.