- Backslashes actually. The escaping mechanism in the low-level parser
was eating leading \ characters when it should not. Very hard bug to
find, trivial to fix.
- Added unit tests to several components while narrowing this down.
- The problem was that the routine dependencyIsCircular() changed its behaviour
in git revision 726fc33fe4, and the new version
only checked tasks by id - but all completed/deleted tasks have the id0, which
led to the problem. The fix is extremelly simple, just get the dependencies
by uuid instead of by id.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- The bug first occured in commit 36ed70ad93 and
seems to be caused by the rewritten break point detection. This adds linefeeds
into the table output, where they're not wanted. This can be fixed by marking
the respective tables as nonbreakable, as done in the attached patch.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Added special case support for '--version' which bypasses all
configuration. Not documented. For extension prgorams like
'taskhelm', that need to determine whether taskwarrior is
sufficiently current.
- Fixed bug #897, which omitted the UUID field from the 'completed'
report, which is essential if you need to modify a completed task
(thanks to Eli Lev).
- Restored a 'skip' unit test, because it works most of the time, and
only fails during the one end of daylight savings day. Along with
several others.
- Provided sample sqlite3 export script in Python, to serve as a
starting point for anyone wanting to migrate taskwarrior data into
a SQL database. Illustrates JSON parsing and separation of the
relational data.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Provided sample sqlite3 export script in Python, to serve as a
starting point for anyone wanting to migrate taskwarrior data into
a SQL database. Illustrates JSON parsing and separation of the
relational data.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
From Owen:
I tried mktime on Darwin an Linux; looks like they both default to UTC if the TZ
environment variable is unset but on Solaris it defaults to the local timezone.
I compiled and ran the tests and checked the behaviour by running:
date
TZ="" date
TZ="UTC" date
On Solaris the first two are in local time and the third is in UTC.
On Darwin and Linux the first one is in local time and the other two are in UTC.
Found this as a reference, too, which mentions the suggested implementation in
'man 3 timegm':
http://stackoverflow.com/questions/6467844/is-c-mktime-different-on-windows-and-gnu-linux
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- 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.
- Possible fix for bug #892, which I cannot replicate anyway. This fix
involves testing my suspicion that std::map autovivifies via
std::map::operator[], which is not nice. Will ask Dmitriy to confirm.
- Added indentTree function that will provide the basis for a new 'projects'
command, and potentially more. Includes unit tests. Based on a patch from
Ralph Bean.
- Removed unnecessary definitions of max() and min(), replaced existent calls
with std::max(). Precursor to Bugfix #887.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Added a coefficient for ageing which is the increase (or decrease)
of urgency per day. The calculated urgency offset due to ageing
can be limited by setting urgency.age.max.
- Fixed bug that was not properly evaluating cases where recurrence was
being removed from a task.
Signed-off-by: Paul Beckingham <paul@beckingham.net>