Commit graph

5563 commits

Author SHA1 Message Date
Misty De Meo
3215e3d78e RX: test for presence of REG_ENHANCED
Instead of checking for Darwin, check whether REG_ENHANCED is defined,
since that's the only difference between the two options.

This fixes compiling on older versions of OS X, where REG_ENHANCED is
not defined.
2015-12-31 17:18:08 -05:00
Misty De Meo
be35dde6f0 FS: include sys/syslimits.h on OS X
This fixes an issue where PATH_MAX isn't defined on some versions of
OS X.
2015-12-31 17:06:54 -05:00
Paul Beckingham
641d232dea Copyright: Updated to 2016 2015-12-31 15:06:43 -05:00
Tomas Babej
c25a7ff085 Config: Replace due.remaining with due.relative in defaults 2015-12-29 11:03:11 -05:00
Tomas Babej
cd95282c10 ColTypeDate: Add relative formatter 2015-12-29 11:03:05 -05:00
Paul Beckingham
7d6a7266d3 Config: Removed unused 'dom' configuration settings. 2015-12-27 09:29:37 -05:00
Tomas Babej
510d2e6377 Config: Remove redundant configuration variable shell.prompt 2015-12-26 13:26:08 -05:00
Paul Beckingham
aafb33287d TW-1733: taskwarrior 2.5.0 can not compile FreeBSD 10.1
- Thanks to ribbon.
2015-12-23 08:09:40 -05:00
Paul Beckingham
22979bb13d Build: Added missing include 2015-12-22 11:07:38 -05:00
Paul Beckingham
7b15ab8c22 List: Refactored listDiff 2015-12-22 08:58:46 -05:00
Paul Beckingham
900ad3c26b UDA: indicator column did not properly default to 'U'
- Thanks to JDufault.
2015-12-16 14:57:58 -05:00
Paul Beckingham
fc55a5521f Context: Removed parentheses for readability 2015-11-24 07:54:23 -05:00
Paul Beckingham
f92219e5cd CmdInfo: Switched to use indices to make fewer string copies 2015-11-24 07:53:32 -05:00
Wilhelm Schuermann
e5916d0feb JSON: Slightly improve json::encode() performance
More efficient string concatenation combined with a lookup table for
JSON encodings leads to 2% improvement for "export" performance test,
3% improvement for "import" performance test.
2015-11-22 16:09:08 +01:00
Paul Beckingham
d6d867c1cf TW-1658: rc override to non-existent alternate rc quietly uses default
- Thanks to David Patrick.
- The 'rc:' argument now means 'use all defaults', which assumes
  'data.location=~/.task', so this will not work for anyone using a different
  location.
2015-11-18 08:25:49 -05:00
Paul Beckingham
f7d0f500fc TW-1481: Unable to assign a completed task as dependency
- Thanks to Tomas Babej.
2015-11-17 13:56:40 -05:00
Paul Beckingham
253fd35dc7 TW-1425: The 'age' format rounds in odd ways
- While duration formats are still not configurable, the break points for
  formatting units is shifted to be a little more predictable.
- Thanks to Black Ops testing.
2015-11-17 07:47:20 -05:00
Paul Beckingham
ba098d790f TW-1500: Dates formatted as ".age", ".remaining", or ".countdown" often give blank results
- The 'age' column regained the ability to show negative durations.
- The 'countdown' and 'remaining' continue to show only positive values, by
  design.
- Thanks to Jeremy John Reeder.
2015-11-16 07:41:41 -05:00
Paul Beckingham
a6f8d93fe1 CmdVersion: Color only used for tty 2015-11-15 14:40:37 -05:00
Paul Beckingham
ec779bb0e8 CmdTimesheet: Color only used for tty 2015-11-15 14:39:08 -05:00
Paul Beckingham
271e28f609 CmdSync: Color only used for tty 2015-11-15 14:35:28 -05:00
Paul Beckingham
d8124d1aad CmdHistory: Color only used for tty 2015-11-15 14:31:55 -05:00
Paul Beckingham
116e5adaf2 CmdContext: Color only used for tty 2015-11-15 14:29:09 -05:00
Paul Beckingham
30a2ab8ea8 CmdShow: Color only used for tty 2015-11-15 14:24:31 -05:00
Paul Beckingham
c4f7e1a869 CmdTags: Color only used for tty 2015-11-15 14:22:18 -05:00
Paul Beckingham
9442df8342 CmdSummary: Color only used for tty 2015-11-15 14:21:55 -05:00
Paul Beckingham
802ff9df05 CmdUDAs: Color only used for tty 2015-11-15 14:21:38 -05:00
Paul Beckingham
7dc035d9ff CmdProjects: Color only used for tty 2015-11-15 14:20:43 -05:00
Paul Beckingham
9e2c6f8d47 CmdReports: Color only used for tty 2015-11-15 14:20:17 -05:00
Paul Beckingham
a863abf2b0 CmdStats: Color only used for tty 2015-11-15 14:19:12 -05:00
Paul Beckingham
79189c448c TW-1723: task info causes segfault
- Thanks to Roman Golovin.
- Calls like 'context.columns[name]' autovivify the key 'name' with a default
  ctor value, which ends up polluting the context.columns map with every unique
  attribute name, which is a lot of 'annotation_nnnnnnnnnn' attributes.
2015-11-15 12:57:26 -05:00
Wilhelm Schuermann
77283241a9 Nibbler: Improve getQuoted() performance
Improves "load" time for all performance tests that load data by ~20%.
 - "next"   down 15% total
 - "list"   down  7% total
 - "all"    down  3% total
 - "add"    down 15% total
 - "export" down  8% total
 - "import" down  6% total
2015-11-12 16:24:22 +01:00
Wilhelm Schuermann
96ca7eb5f2 Nibbler: Remove unused function argument 2015-11-12 13:36:23 +01:00
Wilhelm Schuermann
ad81810fd3 FS: Fix performance on high latency systems
fseek() in File::append() was invalidating the file buffer for each call
to append().  Better handling improves "import" performance test by 9%,
45% in "commit", on a system with a spinning disk.

This performance problem affects all operations where
{pending,completed}.data are rewritten.  During normal operation a
garbage collection can be enough to trigger it.  On storage with high
latency, e.g. networked, this previously took 20 seconds and more.
2015-11-11 08:48:51 +01:00
Paul Beckingham
e6f142be17 ISO8601: Moved ::parse_epoch to occur first 2015-11-10 17:41:12 -05:00
Wilhelm Schuermann
4424c5e450 TDB2: Further gc() cleanup 2015-11-10 17:10:03 +01:00
Wilhelm Schuermann
5ac1b1c6dd TDB2: Remove unnecessary code
- ID assignment is now handled in TF2::load_task(), the removed code
  duplicated that effort.  Barely noticeable performance impact.
2015-11-10 16:39:37 +01:00
Wilhelm Schuermann
6dc30a9a1a TDB2: Move gc() processing to TF2::load_tasks()
Reduce the amount of copies necessary for TDB2::gc() by moving the GC
processing to the Task object source - TF2::load_tasks().

This entangles TDB2 and TF2 more than previously, but leads to huge
performance benefits:
 - "next"   performance test down 21%
 - "list"   performance test down 11%
 - "all"    performance test down  4%
 - "export" performance test down  9%

The "gc" measurement is down 96% for all performance tests.  This is a
result of moving the actual processing into TF2::load_gc() and not
measuring the time taken by that function as "gc" time.
2015-11-09 19:20:57 +01:00
Paul Beckingham
1407e0410e TLSClient: Added more diagnostics in debug mode 2015-11-08 17:03:35 -05:00
Paul Beckingham
9415f62482 Task: Conditional compilation allows Taskserver to reuse code 2015-11-08 17:03:05 -05:00
Paul Beckingham
0141d10d56 ISO8601: Conditional compilation allows Taskserver to reuse code 2015-11-08 17:02:02 -05:00
Paul Beckingham
8e778712ea TW-1313: some recurring intervals reset due time to midnight
- Thanks to James Dietrich.
2015-11-07 17:12:25 -05:00
Paul Beckingham
743baf00cf TW-311: Estimated completion in burndown.daily shows impossible results
- Thanks to Michele Santullo.
- Although TW-311 references impossible results, there are two problems.
  First there is the algorithm that determines estimateѕ completion, and
  second there is the reference to wait dates. The algorithm has been replaced
  by something better, but wait dates have nothing to do with estimation.
- The 'burndown.bias' configuration setting is removed.
- The estimated completion is based on the net completion rate since the
  high water mark of total pending tasks, measured on a daily basis, regardless
  of the type of chart produced.
- Vim syntax updated.
- Docs updated.
2015-11-07 15:35:21 -05:00
Paul Beckingham
0b3d38b0e6 FS: Removed unnecessary include 2015-11-06 18:22:45 -05:00
Paul Beckingham
940c7a793f Portability: Fixed broken build for Cygwin and older GCC
- Thanks to Richard Boß.
2015-11-06 18:22:05 -05:00
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
c248a32cab Task: Removed unnecessary 'this->' 2015-11-04 07:00:52 -05:00
Wilhelm Schuermann
41843d77b0 TDB2: Use efficient data structures for lookup
- Leads to 1-3% improvement across all performance tests.
- _I2U could very likely be further optimized by using a sparse vector,
  or handling the edge cases of this approach ourselves.
2015-11-04 07:52:19 +01:00
Wilhelm Schuermann
80b5a584b7 Task: Reduce temporaries in composeFF4()
- Reducing temporaries leads to 3% performance increase in "import"
  performance test - 6% in "commit", 2% in "other".
2015-11-03 21:35:47 +01:00
Paul Beckingham
a2bd6d8342 Revert "Variant: Converted from sprintf to std::to_string"
This reverts commit f339672b89.
2015-11-02 18:46:36 -05:00