Wilhelm Schuermann
8f8ad813cd
Task: Remove std::map inheritance, clean up interface
...
- Make the Task object's interface more explicit by removing the
std::map inheritance.
- Using this more explicit interface, remove unneeded ctors in order to
allow the compiler to "Do The Right Thing"(tm).
This leads to a performance improvement of 12% in the "add"
performance test, and 7% for "import".
2015-11-04 20:33:52 +01:00
Paul Beckingham
d23d0fafb7
Revert "TDB2: Converted from strtoul to std::stoul"
...
This reverts commit bdfd22ad88
.
2015-11-02 18:41:57 -05:00
Paul Beckingham
bdfd22ad88
TDB2: Converted from strtoul to std::stoul
2015-11-01 21:31:10 -05:00
Paul Beckingham
5c8b7148b4
Task: Moved include to top of list, per flint++ recommendation
2015-11-01 19:59:10 -05:00
Tomas Babej
22368b9a40
Revive TDB2::has and TF2::has methods
...
This reverts commit fa920f02aa
. Methods
found their usage after all.
2015-10-29 20:51:45 -04:00
Paul Beckingham
fa920f02aa
TDB2: Removed unused ::has methods
2015-10-28 12:16:46 -04:00
Paul Beckingham
a82558064b
Cleanup: Prep for '-Wextra'
2015-10-16 16:27:05 -04:00
Paul Beckingham
fb280edbc2
TND2: Migrated from Date to ISO8601d
2015-10-03 15:27:23 -04:00
Paul Beckingham
e2f504e686
Context: No longer calls Context methods while dtor is running.
2015-09-25 07:57:43 -04:00
Wilhelm Schuermann
4fb9307be5
TDB2: Improve TF2::get(uuid, task) performance
...
- Improves "task import" performance test on test machine further from
13s to 1.9s.
- Active only during "task import". Might be worth using during other
mass lookups like "task sync", or could even be a good default.
2015-09-22 18:32:03 +02:00
Tomas Babej
ab40fae67e
TDB2: Only ever update task if it differs from original
2015-09-05 17:20:20 -04:00
Paul Beckingham
ada6c24789
Virtual Tag: Undocumented, experimental support for 'LATEST'
2015-08-31 12:59:44 -04:00
Paul Beckingham
b1839adf97
TW-1664: Notify of waiting→pending promotion
...
- Thanks to Daniel Shahaf.
2015-08-23 16:59:22 -04:00
Paul Beckingham
2a621a4367
TW-1636: UUID with numeric-only first segment is not parsed properly
...
- Switched Nibbler::getUUID to Nibbler::getPartialUUID, which caused partial
UUID mathcing to fail sometimes.
- Changed precedence to search for UUID before ID, which solves the numeric
UUID problem.
2015-08-08 00:49:54 -04:00
Paul Beckingham
78170e0fd4
Signal: Removed useless attempt to trap SIGKILL
2015-08-04 22:31:01 -04:00
Paul Beckingham
758df84539
Context: Now obeys command DNA
...
- Applying a context filter is now performed only when a command requests it.
2015-08-02 10:08:04 -04:00
Wilhelm Schuermann
e95167a984
Plumbing: Use variadic templates for format()
...
- Use variadic templates, with a slight twist for properly supporting
Taskwarrior's l10n strings.
- Adjust code that relied on implicit type conversion which led to
problems with template instantiation.
- Move some functionality out of format() in order to keep it generic.
2015-06-07 20:54:02 +02:00
Paul Beckingham
e8d04bdce6
C++11: N1984 auto
2015-05-24 13:36:26 -04:00
Paul Beckingham
e74c6963a9
C++11: Cleaned up program framework with range-based for
2015-05-11 17:50:53 -04:00
Paul Beckingham
c346cf9395
Portability: Use fcntl instead of flock
...
- POSIX file locking mechanism, eliminating platform-specific code.
2015-05-02 11:47:39 -04:00
Wilhelm Schuermann
c830b4b669
TW-1287: default.* values applied to synced tasks
...
- Tasks that arrive through "task sync" no longer have defaults applied
to them.
2015-04-02 13:39:20 +02:00
Wilhelm Schuermann
7a64c19641
Resolve most compiler warnings
2015-03-29 22:05:38 +02:00
Wilhelm Schuermann
9e6c6ecb93
TW-1583: Invalid ID displayed after done/delete
...
- Fix completed/deleted tasks getting an ID when GC is going to be run,
previously resulting in invalid IDs being displayed in reports that
show non-pending tasks.
A side effect of this fix is that it is sometimes not possible to
filter by ID when running a report right after calling done/delete.
This problem existed before; this change makes it happen on the first
report instead of the second, so it is more consistently broken.
Commands that modify tasks are not affected, making this an annoying
yet harmless defect.
2015-03-28 10:36:58 +01:00
Wilhelm Schuermann
d2e6c90446
TW-1581: Wrong urgency after done/delete command
...
- TDB2::dependency_scan() is run before GC, so we need to check both
tasks in a dependency chain for their status before setting the
blocking/blocked flag to true.
2015-03-26 18:43:58 +01:00
Wilhelm Schuermann
4f75652ccb
TW-1580: "modified" attribute not updated
...
- Make all local modifications update the "modified" attribute.
- As per design, the user cannot overwrite this attribute; neither
can hooks.
2015-03-23 15:55:47 +01:00
Paul Beckingham
96185cbd61
Merge branch '2.4.2' of ssh://git.tasktools.org/tm/task into 2.4.2
2015-03-02 16:17:09 -05:00
Paul Beckingham
7665d13d42
Duration
...
- Removed legacy duration value mapping, which causes much performance
degradation.
2015-03-02 16:16:39 -05:00
Paul Beckingham
01feec568b
Merge branch '2.4.2' of ssh://git.tasktools.org/tm/task into 2.4.2
2015-03-02 09:35:45 -05:00
Paul Beckingham
104aeb3905
TDB2
...
- Commented and reorganized for threading.
2015-03-02 09:33:57 -05:00
Tomas Babej
f0cc0151b7
TDB2: Explicitly mark updates done as addition to optimize performance
...
We are able to avoid loading the completed.data in certain scenarios.
2015-02-28 16:54:09 -05:00
Paul Beckingham
1cfdfbae52
Hooks
...
- Removed the ability for hooks to add tasks, or modify tasks that are outside
the context of the current event. This makes hooks a local mechanism that
operates only on local changes. Modifications/additions coming in via sync
command are not processed by hooks.
2015-01-31 17:47:58 -05:00
Paul Beckingham
547d9edb55
TW-1484
...
- TW-1484 The 'history' and 'ghistory' reports do not obey rc.color.label.
2015-01-10 15:49:42 -05:00
Paul Beckingham
b7ad091d00
Updated copyright to 2015
2015-01-01 00:00:41 -05:00
Paul Beckingham
23e2719e1a
TDB2
...
- Restored blank line for clarity, now that duplicate debug messages are allowed.
2014-10-19 01:31:03 -04:00
Paul Beckingham
1a5fb437a5
Task
...
- Upgrades legacy recur values.
2014-10-07 00:24:03 -04:00
Paul Beckingham
bfc6e38851
Hooks
...
- ::onExit now provides a set of all changeѕ tasks to the hook script, in
read-only form.
2014-09-14 17:04:12 -04:00
Paul Beckingham
d0fd3bac4a
TDB2
...
- ::update must call validate(false) to ensure metadata exists for the 'modify'
case, then later call validate() to add defaults for the 'add' case.
2014-09-14 16:36:32 -04:00
Paul Beckingham
ab72cdad4d
Hooks
...
- Stubbed new ::onAdd and ::onModify interfaces.
2014-09-14 15:42:47 -04:00
Paul Beckingham
7b617a7b6e
TDB2
...
- Consolidated most of the processing in ::add and ::modify into ::update.
2014-09-14 15:25:37 -04:00
Paul Beckingham
21be0e3e94
TDB2
...
- Combined add and modify operations in ::add, in case the hook processing
generates modifications.
2014-09-14 15:07:40 -04:00
Paul Beckingham
ac833c183a
TDB2
...
- TDB2::add no longer assumes that adding one task results in only one task
begin added, as hook processing may expand the set.
2014-09-14 14:56:54 -04:00
Paul Beckingham
f3c035d2b8
TDB2
...
- Removed hook processing that is now in the wrong place.
2014-09-14 14:20:30 -04:00
Paul Beckingham
1058f045b0
TDB2
...
- Added ::has methods to determine whether a UUID is known.
2014-09-10 22:54:17 -04:00
Paul Beckingham
05ba58c56f
TDB2
...
- Disabled hook processing while processing hooks. This is because both ::add
and ::modify can each add or modify tasks, and there is the potential for
infinite recursion.
2014-09-09 23:37:29 -04:00
Paul Beckingham
6faf6bb678
TDB2
...
- Now updates the task ID of any new task, therefore avoiding off-by-one
errors that occur when code calls TDB2::next_id.
2014-08-16 14:20:00 -04:00
Paul Beckingham
6209529aaa
TDB2
...
- In debug mode, if any TF2 objects are dirty, they speak up.
2014-08-09 20:26:51 -04:00
Paul Beckingham
0825ce3c56
TDB2
...
- Updated ID:UUID mapping on ::add, which is the first part of the fix for
TW-1389.
2014-08-06 10:45:15 -04:00
Paul Beckingham
68436d0d50
TDB2
...
- Integrated hooks to TF2::add_task and TF2::modify_task.
2014-05-13 22:06:19 -04:00
Paul Beckingham
d52eebaa66
Bug TW-1288
...
- TW-1288 Added missing locking for task modifications (thanks to Kosta H,
Ralph Bean, Adam Coddington).
2014-03-11 23:28:57 -04:00
Jochen Sprickerhof
4ae8431f96
Bug TD-45
...
- TD-45 Fix preprocessor define.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2014-03-06 18:26:39 -05:00