Commit graph

342 commits

Author SHA1 Message Date
Paul Beckingham
3d7bb9d253 Bug #564
- Fixed bug #564, which allowed the deletion of parent recurring tasks (thanks
  to Peter De Poorter).
2010-12-27 00:22:57 -05:00
Paul Beckingham
7f32435ce9 Helper Command
- Added _query helper command for script writers, which accepts a filter like
  any other report, but returns raw JSON.
2010-12-26 10:00:41 -05:00
Paul Beckingham
488b23f42f Bug
- Flipped the test and error message for wait dates that must be before due
  dates.
2010-10-25 00:37:56 -04:00
Paul Beckingham
0a5e380bbf Correction
- Committed too many chunks in the last modification.
2010-10-23 11:29:20 -04:00
Paul Beckingham
5d4cafb7a6 Bug #493
- Not a fix for the bug, but improved task consistency checking.  The
  real fix can only be made when the Task::waiting status is abolished.
2010-10-05 00:39:22 -04:00
Paul Beckingham
199114abcd Dependencies
- Improved error message when entering "task 1 dep:2; task 1 dep:2".
- Documented circularity checking.
- Stubbed dependencyChainBroken ().
- Stubbed dependencyNag ().
- Improved existing unit tests, added more.
2010-08-27 17:19:15 -04:00
Paul Beckingham
0e2c090dc5 Dependencies
- Added check for circular dependencies.
2010-08-26 22:52:57 -04:00
Paul Beckingham
44fe227595 Product Name Change
- Converted all (appropriate) uses of 'task' to 'taskwarrior'.
2010-08-21 12:31:00 -04:00
Paul Beckingham
6dd4067167 Unit Tests - urgency
- Implemented unit tests for calculating urgency.
2010-08-07 00:15:46 -04:00
Paul Beckingham
d8544181ce Feature - Urgency
- Implemented the urgency algorithm according to rfc31.
- Added a new '_urgency' command to test the algorithm.
2010-08-06 19:04:01 -04:00
Paul Beckingham
b050d67ba9 Dependencies
- Added TDB::gc code to remove dangling dependencies.
2010-08-04 00:43:38 -04:00
Paul Beckingham
e090f556da Feature #244, #272, #274, #275
- Implemented export.yaml, import (yaml).
- Updated man page.
- 'export' is now an alias to 'export.yaml'.
- Added missing 'tags' attribute as an internal Att.
- Improved recognition of YAML.
- Added unit tests for export.yaml, import (yaml).
- Added missing unlink from dependencies.t
2010-08-02 17:55:23 -04:00
Paul Beckingham
98cef98111 Dependencies - depend on self
- Prevented tasks from being specified as depending on themselves.
2010-07-12 20:19:02 -04:00
Paul Beckingham
7e5c0eb9a5 Dependencies
- Supports new "depends" attribute.
- Supports "task <id> depends:1,2".
- Supports "task <id> depends:-1,-2".
- Supports id <--> uuid mapping in TDB.
2010-07-12 01:05:25 -04:00
Paul Beckingham
2b48ae8e38 Enhancement - export.yaml
- Preliminary export.yaml support.  No unit tests yet, and no decision
  on including this feature.  It may be that libyaml is the right choice,
  as an optional dependency.
2010-07-11 10:22:36 -04:00
Paul Beckingham
cd59f7f510 Code Cleanup
- Corrected comments.
- Eliminated redundant code, at the expense of Task::parse call.
2010-06-26 17:33:58 -04:00
Paul Beckingham
03f7e0686f Enhancement - Hooks
- Implemented API::callTaskHook.
- Implemented Hook object inside Hooks.cpp, not Hooks.h.
- Implemented Hooks.setTaskId to provide context for task hooks.
- Implemented pre-tag, post-tag, pre-detag, post-detag
  events.
- Implemented pre-file-lock, post-file-lock, pre-file-unlock, post-file-unlock
  events.
2010-01-23 12:47:48 -05:00
Paul Beckingham
9ce55bcf67 Copyright
- Updated the copyright notices to 2010, for the 1.9.0 release.
2009-12-27 12:39:42 -05:00
Paul Beckingham
2cf25b7c35 Code Cleanup
- Used the shorter form of std::string::substr that defaults the second
  argument to std::string::npos.
2009-12-13 16:59:28 -05:00
Paul Beckingham
e717345f20 Feature - #310 'task add' with external editor
- Simplified and make clearer and error message that complained about
  things that were beyond user control (thanks to John Florian).
(cherry picked from commit a2152628251c6d8c9bc840b8f36851f4ce680c99)

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-12-05 12:23:32 -05:00
Paul Beckingham
bc40ab63b3 Bug Fix - #312 Changing one task changes another
- Added a warning when modifying recurring tasks, that all instances of
  that task may be modified.  When task confirms a bulk edit the
  recurrence is again indicated (thanks to Cory Donnelly).
2009-11-16 23:24:47 -05:00
Paul Beckingham
64bc2a165a Bug fix - hang on cygwin when task updated.
- Fixed bug that caused a hang on cygwin, when a task with multiple
  annotations was edited (thanks to Joe Pulliam).
2009-11-09 22:35:51 -05:00
Paul Beckingham
1355571876 Bug Fix - #252
- 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.
2009-08-05 10:15:33 -06:00
Paul Beckingham
b28575625e Bug Fix - Bug #243
- Fixed bug that caused due dates and recurrence periods to be quoted on
  export, which then caused confusion on a subsequent import (thanks to
  John Florian).
2009-08-04 16:47:49 -06:00
Paul Beckingham
51ad77e952 Bug Fix
- 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.
2009-07-05 23:59:11 -04:00
Paul Beckingham
f7f8b1aee5 Bug Fix
- Fixed bug that generated an export file that was incompatible with
  task 1.7.1 import.  Now there is a smooth migration path back to
  1.7.1 in case 1.8.0 proves unacceptable.
2009-07-05 00:07:24 -04:00
Paul Beckingham
dc2bac1b5e Unit Tests
- All unit tests most now clean up a residual undo.data file, so the
  number of tests increased, but with no benefit.
2009-06-28 17:07:25 -04:00
Paul Beckingham
58d7de8478 Enhancement
- Implemented Task::validate.
2009-06-28 11:10:51 -04:00
Paul Beckingham
1cfe879409 Enhancement - Task::operator==
- Implemented Task::operator==.
- Implemented unit tests.
2009-06-25 17:08:39 -04:00
Paul Beckingham
329a78039a Enhancement - wait status
- Supports the new Task::waiting status.
- Supports: task <id> wait:<date>
- Supports: task <id> wait:
- Supports: task waiting
2009-06-21 22:42:32 -04:00
Paul Beckingham
cea84b3d3b Bug Fix - export
- Fixed export bug that was emitting quoted blank strings, instead of
  blank strings.
- Fixed undo.t unit tests.
2009-06-18 22:52:27 -04:00
Paul Beckingham
315c70c503 Enhancement - custom report name collisions
- Task now emits an error if a custom report name collides with
  that of a built-in command.
2009-06-18 20:13:12 -04:00
Paul Beckingham
00c5e61d49 Bug Fix - rc:alternate
- Fixed handling of rc: alternate rc file.
- Reorganized Config.cpp regarding defaults.  More work needed.
2009-06-15 17:31:29 -04:00
Paul Beckingham
4470c3b88c Bug Fix - Task::determineVersion
- Fixed determineVersion details.
- Strips \n from  EOL before attempting parse.
2009-06-15 14:22:34 -04:00
Paul Beckingham
62f240aad4 Bug Fix - composeF4 -> parse -> composeF4
- Fixed bug that meant Task::composeF4 added a newline, but Task::parse
  did not expect a newline.  This caused Task::determineVersion to
  detect a format 1 encoding and throw.  Changed TDB::load to not remove
  any \n characters, and Task::parse to accept lines either with or
  without.
2009-06-15 12:37:35 -04:00
Paul Beckingham
7ff178cecc Integration - TDB write operations
- TDB::gc rewritten.
- TDB::commit fixed.
- Corrected usage of handleRecurringTasks wrt TDB.
- Unit tests for TDB.
2009-06-15 00:52:24 -04:00
Paul Beckingham
f470acadaa Enhancements - export
- Implemented Task::composeCSV.
- Implemented export command, but removed filename support.  This
  needs to be documented.
2009-06-14 14:26:39 -04:00
Paul Beckingham
d99dec5556 Enhancements - info report
- Implemented info report.
- Removed odd Subst and Sequence objects from Task - are they just
  vestigial limbs, or did I add them for a good reason?  They are
  gone now.
- Added Filter::applySequence to replace old filterSequence.
- Removed obsolete report.cpp filter function.
2009-06-13 00:50:48 -04:00
Paul Beckingham
bd0309b4ff Enhancements - modifiers
- Now only allows one modifier.
- Removed "not", "synth", "next", "first", "last" modifiers.
- Modified match logic.
2009-06-12 21:11:33 -04:00
Paul Beckingham
d898f3f509 Enhancement - Annotations
- Annotations are now being parsed properly from FF3.
2009-06-11 22:58:38 -04:00
Paul Beckingham
7b9cb12308 Enhancement - add
- Modified Record::get* methods to be const.
- Implemented TDB2::add.
- Renamed Task::valid to Task::validate.
- Implemented Task::setEntry to default creation time.
- Fixed bug where TDB2 was opening files "rw" instead of "r+".
2009-06-11 00:11:11 -04:00
Paul Beckingham
d7da182450 Code Cleanup
- Renamed T2.h -> Task.h, T2.cpp -> Task.cpp.  This permanently avoids
  the problem where g++ on OpenBSD 4.5 fails because of the T class,
  which probably conflicts with C++ templates.  Who knows.
2009-06-10 21:35:07 -04:00
Renamed from src/T2.cpp (Browse further)