Commit graph

34 commits

Author SHA1 Message Date
Paul Beckingham
79e2c591f1 Bug #1022
- Fixed bug #1022, where dependencies were note released when a blocking task
  was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
  determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
  the number of map lookups, and removed loop invariants when the rules are
  not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
  determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
  precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
  place in the rule precedence.
2012-07-09 01:29:51 -04:00
Paul Beckingham
d59aaa6427 TDB2
- Pushed task lookup by ID and UUID down a level from TDB2 to TF2.  This allows
  reuse at the low level for things like proper dependency evaluation.
2012-07-08 16:04:34 -04:00
Paul Beckingham
cd552231e9 Performance
- Eliminated the 'contents' layer, which was never used to the degree
  anticipated.  This reduces memory footprint significantly.
2012-04-27 01:49:26 -04:00
Paul Beckingham
39998d5cc5 Bug #932
- Fixed bug #932, which fixed change propagation for recurring tasks (thanks to
  Jennifer Cormier).
- Added unit tests, corrected some.
2012-02-20 17:25:31 -05:00
Paul Beckingham
c092b027a6 Code Cleanup
- Removed 'synch_key' tests and file I/O.  Soon, soon...
2012-01-29 17:42:52 -05:00
Paul Beckingham
a262d41828 Backlog
- 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.
2012-01-03 00:55:20 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Paul Beckingham
e5303a2180 Deletion
- An already-completed task may now also be deleted.
- Added unit tests.
2011-10-23 23:49:25 -04:00
Federico Hernandez
8116c6a103 License
- moving task from GPL to MIT license
  top level src directory
2011-10-08 00:04:01 +02:00
Paul Beckingham
87d940c46d Bugs #822, #845
- Fixed bug #822, #845, which generated incorrect IDs (thanks to Matt Kraai and
  Michelle Crane).
2011-09-29 00:00:36 -04:00
Paul Beckingham
195c7d5142 TDB2
- Added TDB2::all_tasks as a helper function to load and combine tasks
  from pending and completed.
2011-09-05 10:45:58 -04:00
Paul Beckingham
eb992d3523 TDB2
- Implemented TDB2::gc.  Probably with a few really nasty bugs, to
  provide nice entertainment for the rest of the weekend.
2011-09-03 12:56:26 -04:00
Paul Beckingham
3d1a5acafb TDB2
- Implemented high-level TDB2::id and TDB2:uuid that delegates to TF2.
- Fixed a bug in TDB2::modify that failed to properly overwrite a task.
2011-09-03 11:17:12 -04:00
Paul Beckingham
63eb22fc7e TDB2 Merge
- Migrated TDB::merge to TDB2::merge.
- Removed obsoleted code from TDB.
- Modified unit tests for merge to use export instead of export.csv.
2011-09-01 23:48:35 -04:00
Paul Beckingham
b09351c517 Task Validation
- 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.
2011-08-31 01:34:59 -04:00
Paul Beckingham
c1f33a23d3 Undo
- 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.
2011-08-30 00:42:04 -04:00
Paul Beckingham
0f627bd44e TDB2
- Added TDB2::clear and TF2::clear methods.
2011-08-28 08:13:41 -04:00
Paul Beckingham
e127f33e3a TDB2::siblings
- TDB2 helper function to locate sibling tasks.
2011-08-26 01:58:07 -04:00
Paul Beckingham
60ca284e3a TDB2::get
- Implemented high-level accessors for tasks, by ID and UUID.  This
  permits full DOM implementation.
2011-08-25 22:13:47 -04:00
Paul Beckingham
fb6dc5058f TDB2
- 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.
2011-08-25 00:29:54 -04:00
Paul Beckingham
1dc2257156 TDB2 Conversion
- Migrated several commands over to use TDB2.  Have to start somewhere.
2011-08-23 00:47:46 -04:00
Paul Beckingham
e573801517 TDB2 - Diagnostics
- 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.
2011-08-22 23:04:38 -04:00
Paul Beckingham
501953a6da TDB2
- Verifies that a UUID is not already found in the data.  This prevents
  erroneous double-import.  Or triple...
2011-08-21 22:37:02 -04:00
Paul Beckingham
ac9d1f3bfa Performance Timing
- Change the was performance measurements are taken.  This in preparation
  to automated daily perf charts, leading to efforts to speed up certain
  operations.
2011-08-15 21:53:01 -04:00
Paul Beckingham
1f58856299 TDB2 - Recurrence
- Re-enabled the recurrence handling code and converted from TDB to
  TDB2.  Time for some difficult TDB2 work.  But first, coffee.
2011-08-14 10:19:59 -04:00
Paul Beckingham
bfad448f82 TDB2 - id <--> uuid mapping
- Migrated TDB mapping over to TDB2 mapping, which occurs at the TF2 level.
  This should (soon) restore task dependencies.
2011-08-13 17:43:07 -04:00
Paul Beckingham
8827f9c978 TDB2
- 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.
2011-07-13 23:53:57 -04:00
Paul Beckingham
5b4c46fe42 TDB2
- Began serious TDB2 development by adding TDB2::dump, which shows
  all the file-related data in debug mode.
2011-07-11 23:19:21 -04:00
Paul Beckingham
a16b8366cd TDB
- Integration TDB2 into the initialization process.  It begins...
2011-07-09 21:25:46 -04:00
Paul Beckingham
8fabffe18c Code Cleanup
- Eliminated '#include "x"' by changing all to '#include <x>'.
2011-05-28 00:19:59 -04:00
Paul Beckingham
f67706c28e L10N
- Added '#define L10N' marker to all source files that are localized.
2011-05-28 00:02:04 -04:00
Paul Beckingham
0471c17f12 Build System
- Added new src/commands and src/columns intermediate libs.
- Began implementation of the first Command object.
- Began implementation of the first Column object.
- TDB2, Variant updates.
2011-04-23 16:41:37 -04:00
Paul Beckingham
e9273cd6c3 TDB2
- Implemented most of the layered I/O for the pending.data file.
- Needs File::xxxxx support that doesn't exist yet.
2011-04-15 01:29:22 -04:00
Paul Beckingham
9b3f565e90 Enhancements
- Added stubbed DOM code.
- Added stubbed TDB2 code.
2011-04-12 23:47:38 -04:00