Commit graph

734 commits

Author SHA1 Message Date
Paul Beckingham
139011e1ae Performance
- Introduced a new filter optimization that recognizes filters with no 'OR', or
  'XOR' operators, includes IDs, but does not include UUIDs.  This combination
  means completed.data is not referenced.
2012-04-24 00:53:04 -04:00
Paul Beckingham
35122154ef Bug #986
- Fixed bug #986, so that the 'info' report uses the correct date format
  (thanks to Louis-Claude Canon).
2012-04-21 13:02:31 -04:00
Paul Beckingham
21e172a75a Merge branch '2.0.1' of tasktools.org:task into 2.0.1
Conflicts:
	AUTHORS
2012-04-16 10:54:10 -04:00
Paul Beckingham
d26749fd39 Feature #516
- Feature #516, which allows the duplication of completed tasks (thanks to
  Peter De Poorter, Ethan Schoonover).
2012-04-16 09:03:55 -04:00
Paul Beckingham
0918a7c79a Bug #973
- Fixed bug #973, including 'urgency' in the 'export' output (thanks to Andy
  Spiegl).
2012-04-15 19:45:42 -04:00
Paul Beckingham
0288fd1ec9 Bug
- Fixed incorrect Lua API return value (thanks to Oleksii Tsai).
2012-04-14 16:18:40 -04:00
Paul Beckingham
062c4a0342 Documentation
+ Fixed man page typos.
2012-04-13 15:13:33 -04:00
Paul Beckingham
c51b472694 Bug #968
- Fixed bug #968, a typo in the 'edit' command text (thanks to Victor Roetman).
2012-04-11 07:43:05 -04:00
Paul Beckingham
2c07837852 Bug
- Fixed bug where ISO dates were parsed and the TZ was modified, which should
  have no bearing on a Zulu time.
2012-04-09 00:16:09 -04:00
Paul Beckingham
dd73cc1ccf Bug #964
- Fixed bug #964, where the 'projects' command showed the wrong priority labels
  (thanks to Ali Mousavi).
2012-04-06 18:55:26 -04:00
Paul Beckingham
2203d3364d Bug
- Fixed bug where '6 months' was interpreted as 180 days, but when rendered
  was shown as '5 months' (thanks to Aikido Guy).
- Multiple unit test corrections.
2012-04-04 18:42:11 -04:00
Paul Beckingham
6100748511 Bug
- Corrected rounding errors on burndown chart bar size calculations (thanks to
  Uli Martens).
2012-03-26 18:16:09 -04:00
Paul Beckingham
a73c711188 Feature
- The 'summary' report now uses 'project.indented' format.
2012-03-25 18:00:22 -04:00
Paul Beckingham
adb6785931 Feature
- The 'projects' report now uses 'project.indented' format.
2012-03-25 17:59:37 -04:00
Paul Beckingham
17c605502c Feature
- Added new 'indented' format for the 'project' attribute.  Note that
  this is really only useful when a report is sorted by project.
2012-03-25 17:57:55 -04:00
Paul Beckingham
667a6e6ef9 Bug
- Fixed grammar in feedback string (thanks to Uli Martens).
2012-03-21 07:39:42 -04:00
Paul Beckingham
f45c9edf2b Code Cleanup
- Removed default configuration value for the obsolete 'annotations' setting.
2012-03-18 10:15:32 -04:00
Paul Beckingham
1274f2ba07 Code Cleanup
- Addressed valgrind complaints by freeing allocations for commands and columns.
  This leaves one complaint about getpwuid, which is either an optional free,
  or not valid, depending on OS.  (Thanks to Bryce Harrington).
2012-03-18 00:27:47 -04:00
Federico Hernandez
b19229b272 Added SHA1 of tagged release commit 2012-03-17 22:59:02 +01:00
Federico Hernandez
03799eba9f Release date for 2.0.0 2012-03-17 21:34:41 +01:00
Paul Beckingham
ac4d90f1f6 Feature Pulled
- Removed the feature that allows commands to be piped in to stdin,
  and appended to any existing command line.  This feature is
  conditionally compiled, controlled by the FEATURE_STDIN define in
  main.h
- Many unit tests contained "echo '-- y'", and now use "echo 'y'"
  because the '--' is no longer supported on stdin.
- Thanks to the IRC team for testing, including Bryce Harrington,
  Sam Stuck, Owen Clarke, Greg Grossmeier.
2012-03-17 10:46:05 -04:00
Paul Beckingham
80d6655709 Bug
- Fixed problem where 'project' was not supported as a verbosity token (thanks
  to Adam Gibbins).
2012-03-17 10:11:55 -04:00
Paul Beckingham
2c90bca134 Bug #950
- Fixed bug #950, which warned about dependency chain problems during
  annotation, which makes no sense (thanks to Uli Martens).
2012-03-14 00:32:45 -04:00
Paul Beckingham
948bbe8745 Bug #946
- Fixed bug #946, which caused 'edit' command problems when
  'dateformat.annotation' did not contain any date elements (thanks to Tuomas
  Toivola).
2012-03-14 00:17:56 -04:00
Paul Beckingham
99e058cbe7 Bug #952
+ Fixed bug #952, which caused cmake complaints under Cygwin.
2012-03-14 00:03:01 -04:00
Owen Clarke
f36f483d1e Bug #944
- Fixed merge.t failing when run on an NFS share
2012-03-05 08:26:08 +11:00
Paul Beckingham
77200d7eb4 Bug #837
- Fixed bug #837, which caused incorrect urgency calculations for tasks that
  have completed dependencies, and problems when editing those tasks (thanks
  to Matt Kraai).
- Added Task::addDependency (const std::string&) method for reconstructing
  dependencies on tasks with no ID.
- Modfified Task::urgency_blocked so that it considers the blocking task's
  status.  This is an expensive test, and so it is wrapped by a cheaper test
  to see if there are/were any dependencies at all.  This means that urgency
  calculations are not slowed for tasks without dependencies, and is slower
  but more accurate for tasks that do have dependencies.
- Modified edit command so that dependencies are shown as IDs or UUIDs
  depending on whether the task is pending or not.
- Modified edit command so that dependencies are parsed as IDs or UUIDs
  depending on whether the task is pending or not.
- Modified wording in the template of the edit command to reflect the above.
- Added unit tests bug.837.t.
2012-03-04 00:05:11 -05:00
Paul Beckingham
d230ea4001 Diagnostics
- The 'diagnostics' command now checks for duplicate UUID values in the data.
2012-02-28 01:22:57 -05:00
Paul Beckingham
50825bc61a Bug #851
- Fixed bug #851, which failed to recognize durations like '1day' when
  filtering date attributes (thanks to Philipp Woelfel).
- Added unit tests.
2012-02-28 00:27:48 -05:00
Paul Beckingham
9eee2e3e3e Bug #447
- Indicated that #447 was fixed alongside #942.
2012-02-27 20:18:11 -05:00
Paul Beckingham
8c0971425f Bug #942
- Fixed bug #942, which only allowed dates to be edited if they changed day
  (thanks to Owen Clarke).
2012-02-27 20:10:19 -05:00
Paul Beckingham
e42a5a831a Bug #865, #886
- Fixed bugs #865 and #886, which caused silent failure of unrecognized dates
  (thanks to Michelle Crane).
2012-02-27 00:36:53 -05:00
Paul Beckingham
5feb736939 Bug
- Fixed problem where urgency was not properly calculated for waiting tasks.
- Tweaked urgency coefficients to make most of the values closer together, and
  therefore more sensitive.
- Inverted 'waiting' coefficient.
- Boosted 'next', 'due' and 'blocking' coefficients.
- Modified unit tests accordingly.
- Lessened the impact of 'blocked', 'project', 'tags' and 'age'.
2012-02-26 23:13:15 -05:00
Paul Beckingham
8af872e289 Bug
- Fixed problem where update-holidays.pl did not use the YYYYMMDD date foramt.
2012-02-26 17:05:16 -05:00
Paul Beckingham
824cba7152 Bugs #552, #863
- Fixed bug #552, where 'rc.verbose=off' suppressed warnings (thanks to Peter
  De Poorter).
- Fixed bug #863, which suppressed report labels with rc.verbose=off (thanks to
  Michelle Crane).
2012-02-26 17:01:13 -05:00
Paul Beckingham
9d74b55d48 Feature #725
- Added feature #725, which provides feedback when tasks become unblocked.
- Added unit tests.
2012-02-26 13:08:40 -05:00
Owen Clarke
87853bdd78 Bug #938
- Fixed compiler warnings on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:43:54 -05:00
Paul Beckingham
9c641fd778 Credit
- Updated ChangeLog to reflect recent patches.
2012-02-23 20:27:38 -05:00
Paul Beckingham
15a0d7a801 Bug #880
- Fixed bug #880, which listed the wrong file paths for themes (thanks to Peter
  Lewis).
2012-02-23 17:26:52 -05: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
9f8165e3c6 Bug #932 (part 1)
- Fixed bug that caused only parent recurring tasks to have their attributes
  properly removed.
- When duplicating a parent recurring task, a new recurring parent task is
  created.  When a child recurring task is duplicated, a plain task is created.
- Added unit tests.
- Thanks to Jennifer Cormier.
2012-02-20 01:10:42 -05:00
Paul Beckingham
0a0e8f0d6b Bug - UTF8
- Fixed bug in the handling of UTF8 JSON data from holidata.net, when
  update-holidays.pl when decoding and writing files.
2012-02-19 23:22:45 -05:00
Paul Beckingham
7a45db4d0f Feature #891
- Added feature #891, which allows for leftmost partial matches of UUID values.
  Makes direct comparisons for full-length values, and regular expressions for
  partial values.  Note that there is a minimum length of 8 hex digits.
- Added safety parsing mechanism that fails a partial UUID if immediately
  followed by a hex digit.  This allows for numbers longer than 8 digits to not
  be misinterpreted as a UUID.
- Implemented Nibbler::getPartialUUID.
- Implemented unit tests.
@@ -1145,12 +1145,23 @@ const A3 A3::sequence (const A3& input) const

   for (unsigned int i = 0; i < uuids.size (); ++i)
   {
-    if (ids.size ())
+    if (ids.size () + i > 0)
       sequenced.push_back (Arg ("or", Arg::cat_op));

-    sequenced.push_back (Arg ("uuid",        Arg::type_string, Arg::cat_dom));
-    sequenced.push_back (Arg ("=",                             Arg::cat_op));
-    sequenced.push_back (Arg (uuids[i],      Arg::type_string, Arg::cat_literal));
+    // A full-length UUID requires a string comparison.
+    if (uuids[i].length () == 36)
+    {
+      sequenced.push_back (Arg ("uuid",         Arg::type_string, Arg::cat_dom));
+      sequenced.push_back (Arg ("=",                              Arg::cat_op));
+      sequenced.push_back (Arg (uuids[i],       Arg::type_string, Arg::cat_literal));
+    }
+    // A UUID fragment is a leftmost comparison.
+    else
+    {
+      sequenced.push_back (Arg ("uuid",         Arg::type_string, Arg::cat_dom));
+      sequenced.push_back (Arg ("~",                              Arg::cat_op));
+      sequenced.push_back (Arg ("^" + uuids[i], Arg::type_string, Arg::cat_rx));
+    }
   }

   sequenced.push_back (Arg (")", Arg::cat_op));
@@ -1674,11 +1685,11 @@ bool A3::is_uuid (Nibbler& n, std::string& result)
   n.save ();
   result = "";
   std::string uuid;
-  if (n.getUUID (uuid))
+  if (n.getPartialUUID (uuid))
   {
     result += uuid;
     while (n.skip (',') &&
-           n.getUUID (uuid))
+           n.getPartialUUID (uuid))
     {
       result += ',' + uuid;
     }
@@ -1997,13 +2008,13 @@ bool A3::extract_uuid (
   Nibbler n (input);

   std::string uuid;
-  if (n.getUUID (uuid))
+  if (n.getPartialUUID (uuid))
   {
     sequence.push_back (uuid);

     while (n.skip (','))
     {
-      if (!n.getUUID (uuid))
+      if (!n.getPartialUUID (uuid))
         throw std::string (STRING_A3_UUID_AFTER_COMMA);

       sequence.push_back (uuid);
2012-02-19 22:27:40 -05:00
Paul Beckingham
c785836083 Feature #632
- Added feature #632, which allows environment variables TASKRC and TASKDATA
  to override .taskrc and .task directory locations (thanks to Steve Rader).
- Added unit tests.
+
2012-02-19 18:59:28 -05:00
Michal Vyskocil
78e5891cd3 Portability
- lua_open has been declared as deprecated in lua 5.1 and removed from
  5.2. Usage of luaL_newstate is thus recommended in both series.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-15 19:26:26 -05:00
Uli Martens
7fe5fc80e9 Bug #636
- Fixed bug #636, which causes the burndown reports to not honor the
  _forcecolor=off setting (thanks to Steve Rader, Uli Martens).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-13 06:15:27 -05:00
Paul Beckingham
28a4947234 Bug #818
- Fixed bug #818, which caused partial tag matching (thanks to Joe Holloway).
- Note that the regex word boundary anchors are different for Solaris
  and Linux, and largely broken on OSX.
- Added unit tests.
2012-02-12 10:42:24 -05:00
Uli Martens
0f60e8c758 Bug #929
- Fixed bug #929, which corrected argument handling for aliases.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-12 08:15:45 -05:00
Paul Beckingham
86f113a24c Feature #609
- Added feature #609, which allows suppression of output labels and verbose
  text.
2012-02-03 00:05:46 -05:00
Paul Beckingham
8abc541777 Bug #906
- Fixed bug #906, which caused problems with inverted project matching (thanks
  to Uli Martens).
2012-02-02 23:51:31 -05:00