If not explicitly stated on import, values with default dynamic
values (such as modified, entry or end) can produce a false
notion of incoming 'modified' data, where the only difference
between the data in the database and data being imported is
that the dynamic defaults differ, since they have been
generated at different times.
Solve the issue by neglecting the attributes with dynamic defaults,
if they have been generated.
- Re-importing the same file will now lead to no task changes.
Previously the "modified:" attribute got updated each time an
already imported file was imported again.
- Many files were missing an explicit cmake.h include. Some were not including
it at all. Now it's used almost everywhere.
(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
- File format 2 (used in version 0.9.3 - 1.5.0) is no longer supported.
- Task::parseJSON implemented.
- PRODUCT_TASKWARRIOR defined, to facilitate code sharing.
- Strings renamed for sharing purposes.
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
- Implemented the import-yaml.pl external script.
- Added unit tests.
- Fixed problem where the pending tasks were not loaded prior to uuid
verification.
- Added unit tests for the 'import' command, which uses JSON as the
native format. This is the new default import/export format. All
other import/export formats are (to be) implemented as transforms
to JSON.
- Task is no longer a map of string to Att. Att is itself a name/
value pair, so the name was redundant. Task is now a map of string
to string. This brings the obsoletion of Att much closer.
- Implemented the import command, which only suports JSON. It is
the basis for all other import formats, which will be implemented
as external scripts.