Commit graph

83 commits

Author SHA1 Message Date
Paul Beckingham
6ce3a8e27f Bug #1123
- Fixed bug #1123, which caused the undo of a 'log' command to corrupt the data
  file (thanks to Tim None).
2012-12-01 15:05:03 -05:00
Johannes Schlatow
7710c7a623 Merge bug
Hopefully found the ultimate cause of duplicated (completed) tasks.

The corresponding test case

 1. does not rely on the fact that there are modifications with equal
    timestamps and
 2. is a LOT simpler than the other ones.
2012-11-23 13:14:40 +01:00
Johannes Schlatow
0e28374131 Bug #1117
Fixed some other merge issues with the sorting order of equally timestamped
entries in undo.data (see #1104).

1. The fact that both files can begin with equal timestamps but different
   modifications has not been taken into account.

2. Besides the fact that the relative order within the same data file must
   be preservered as introduced before, we also need a unique order for entries
   of different data files so that each machine comes to the same merge result.
   This has now been achieved by taking the UUIDs into account as soon as the
   timestamps are equal.
2012-11-23 13:03:32 +01:00
Paul Beckingham
bb167b2275 Feature
- New 'modified' attribute, which contains the most recent modification date,
  if a modification has occurred.
2012-09-27 00:56:41 -04:00
Federico Hernandez
a3242f7b5b Merge branch 'master' into 2.2.0
- merge of 2.1.2 release being now the current released version in
  master.

Conflicts:
	CMakeLists.txt
	NEWS
	test/bug.1104.t
	test/run_all
2012-09-18 22:58:59 +02:00
Johannes Schlatow
68c1ca3f69 Bug #1104
Fixed the bug where the sort order of transactions with equal timestamps
 was not stable, i.e. due to the lack of a total order, different merges
 produced different sortings and hence messed up transactions which
 have already been merged.
2012-09-10 22:53:44 +02:00
Johannes Schlatow
98da8ddcb8 Bug #1104
Added unit test.

 Implemented a quick fix for the issue with a broken branch-off algorithm
 which disregarded the transaction boundaries in the undo.data file.
2012-09-10 20:33:32 +02:00
Johannes Schlatow
55fe8810ce Bug #1104
Added unit test.

 Implemented a quick fix for the issue with a broken branch-off algorithm
 which disregarded the transaction boundaries in the undo.data file.
2012-09-10 14:42:44 +02:00
Scott Kostyshak
7a6cdde571 Code Cleanup
- Constify some catches.
2012-09-04 22:04:41 -04:00
Paul Beckingham
79e2c591f1 Bug #1022
- Fixed bug #1022, where dependencies were note released when a blocking task
  was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
  determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
  the number of map lookups, and removed loop invariants when the rules are
  not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
  determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
  precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
  place in the rule precedence.
2012-07-09 01:29:51 -04:00
Paul Beckingham
d59aaa6427 TDB2
- Pushed task lookup by ID and UUID down a level from TDB2 to TF2.  This allows
  reuse at the low level for things like proper dependency evaluation.
2012-07-08 16:04:34 -04:00
Paul Beckingham
b0b8bfe1d2 Bug #1023
- Fixed bug #1023, which applied default.project and default.priority during
  modification (thanks to Christoph Lange).
- Added unit tests.
- Added Christoph to the AUTHORS file.
2012-07-04 16:45:09 -04:00
Louis-Claude Canon
e5fe704f6a Code Cleanup 2012-06-16 16:08:51 -04:00
Louis-Claude Canon
b45a305df2 Enhancement
- Output error, header, footnote and debug messages on standard error.
2012-06-16 16:07:27 -04:00
Paul Beckingham
2668b04901 Performance
- Added std::string::reserve in high-use locations.
- Used Task::get_date over Task::get where possible.
- Added missing code (bug) for waking up any completed tasks that are freshly
  waited.
- Greater use of STL methods for bulk copying.
2012-04-27 02:46:01 -04:00
Paul Beckingham
cd552231e9 Performance
- Eliminated the 'contents' layer, which was never used to the degree
  anticipated.  This reduces memory footprint significantly.
2012-04-27 01:49:26 -04: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
259f39f2d2 Performance
- Corrected performance measurement.  The TDB2::gc requires data to
  be loaded first, but load time is measured separately.  This resulted
  in repeat counting.  Now the gc time subtracts any load time that is
  accumulated *during* the gc.  This is now a fair accounting of the time.
2012-02-20 09:26:52 -05:00
Paul Beckingham
bf9e14f581 Bug 899
- Fixed bug #899, which displayed incorrect project completion numbers (thanks
  to Paul-Gheorghe Barbu).
- Added unit tests.
2012-01-29 17:44:43 -05:00
Paul Beckingham
c092b027a6 Code Cleanup
- Removed 'synch_key' tests and file I/O.  Soon, soon...
2012-01-29 17:42:52 -05:00
Paul Beckingham
a262d41828 Backlog
- 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.
2012-01-03 00:55:20 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Paul Beckingham
e5303a2180 Deletion
- An already-completed task may now also be deleted.
- Added unit tests.
2011-10-23 23:49:25 -04:00
Paul Beckingham
fce2469f41 Deletion
- Allows the deletion of an already-completed task, provided it is
  addressed by UUID.
- Displays UUID in cases where there is no ID.
2011-10-22 23:44:54 -04:00
Paul Beckingham
670fe1f3e5 Performance
- Added std::vector::reserve calls to reduce allocations and copying.
2011-10-21 00:12:45 -04:00
Paul Beckingham
cc168b137f Code Cleanup
- Removed incorrect comment.
2011-10-10 22:53:39 -04:00
Federico Hernandez
8116c6a103 License
- moving task from GPL to MIT license
  top level src directory
2011-10-08 00:04:01 +02:00
Paul Beckingham
4470a5f156 I18N
- Localized TDB2.
- Removed old debugging comments.
- Formatting fix in CmdBurndown.
2011-10-02 17:00:40 -04:00
Paul Beckingham
87d940c46d Bugs #822, #845
- Fixed bug #822, #845, which generated incorrect IDs (thanks to Matt Kraai and
  Michelle Crane).
2011-09-29 00:00:36 -04:00
Johannes Schlatow
295e23aac4 Merge
- removed previous hack that created a zero-byte undo.data file.
  Now the undo.data is created as needed in TDB2::merge.
2011-09-13 10:28:30 +02:00
Paul Beckingham
87df2f66ec Merge
- Fixed merge, with an egregious hack for now, by creating zero-byte undo.data
  file.  This goes against the whole TDB2 philosophy, so it is temporary.
- Updated PUNCHLIST.
- Removed old tdb comment from CmdMerge.
2011-09-13 00:51:58 -04:00
Paul Beckingham
dcd0bd1de7 TDB2
- Fixed a bug, or rather a side-effect of more efficient i/o.  Now that
  a TDB2::GC call does not write out files until the final TDB2::commit,
  the GC has the effect of not modifying task IDs based on shuffling tasks
  between pending.data and completed.data until the next command.  Fixed.
2011-09-13 00:22:11 -04:00
Paul Beckingham
9ada2f554a Bug
- The modify command no longer claims that a task was modified if no
  changes were applied.
2011-09-11 13:49:07 -04:00
Paul Beckingham
195c7d5142 TDB2
- Added TDB2::all_tasks as a helper function to load and combine tasks
  from pending and completed.
2011-09-05 10:45:58 -04:00
Paul Beckingham
751e8e7f90 Import YAML
- Implemented the import-yaml.pl external script.
- Added unit tests.
- Fixed problem where the pending tasks were not loaded prior to uuid
  verification.
2011-09-05 01:11:37 -04:00
Paul Beckingham
f74c33dc02 Bug
- Fixed a silly bug whereby TDB2::gc, once it loaded the data, wiped the TF2
  objects, such that TDB2::commit didn't know there was data to write.
  Hmm.  Time for a vacation.
2011-09-03 16:32:30 -04:00
Paul Beckingham
8bf1386b78 Bug
- Fixed an even worse bug whereby TDB2::gc never even bothered to load
  the data before running the GC.  Sigh.
2011-09-03 16:31:03 -04:00
Paul Beckingham
1e510f66ef Bug
- Fixed nasty bug whereby TF2::clear wiped the file names (pending.data etc) and
  so any subsequent TDB2::commit never even opened the file.  Yikes.
2011-09-03 16:30:15 -04:00
Paul Beckingham
eb992d3523 TDB2
- Implemented TDB2::gc.  Probably with a few really nasty bugs, to
  provide nice entertainment for the rest of the weekend.
2011-09-03 12:56:26 -04:00
Paul Beckingham
3d1a5acafb TDB2
- Implemented high-level TDB2::id and TDB2:uuid that delegates to TF2.
- Fixed a bug in TDB2::modify that failed to properly overwrite a task.
2011-09-03 11:17:12 -04:00
Paul Beckingham
63eb22fc7e TDB2 Merge
- Migrated TDB::merge to TDB2::merge.
- Removed obsoleted code from TDB.
- Modified unit tests for merge to use export instead of export.csv.
2011-09-01 23:48:35 -04:00
Paul Beckingham
e9c5b96344 Build
- Missed an include file.
2011-09-01 01:20:33 -04:00
Paul Beckingham
63dfb17bbc Undo
- Undo functionality restored, although not ideal.
2011-09-01 00:46:35 -04:00
Paul Beckingham
b09351c517 Task Validation
- Fixed validation bug whereby recurring child tasks inherited the
  parent status ("recurring") instead of the expected "pending".
- Modified 'add' command to code duplicated in Task::validate.
- Cleaned up associated bug.period.t unit test.
2011-08-31 01:34:59 -04:00
Paul Beckingham
c1f33a23d3 Undo
- Stubbed the undo implementation in TB2::revert (undo as a name is
  already taken), and in the process lose the capability.
- Add detection of <modifications> when running the 'undo' command
  and generate an error.
2011-08-30 00:42:04 -04:00
Paul Beckingham
0f627bd44e TDB2
- Added TDB2::clear and TF2::clear methods.
2011-08-28 08:13:41 -04:00
Paul Beckingham
50fa2c0ddf TDB2
- Every task in pending.data an ID.
2011-08-28 00:02:15 -04:00
Paul Beckingham
1e70f00c29 TDB2
- Properly handles cases where tasks are added, then existing data files
  are loaded.  The 'add' list and the 'loaded' list needed to be merged.
2011-08-27 23:30:51 -04:00
Paul Beckingham
c23f663408 TDB2
- Fixed problem with backlog - TDB2::modify should call backlog.add_task
  but was calling backlog.modify_task.
2011-08-27 20:56:41 -04:00
Paul Beckingham
0eec42ce4a TDB2
- Corrected maintenance of the _lines vector during TDB2::add_line.
- Implemented TDB2::modify_task undo maintenance.
- Added unit tests for TDB2.  Which fail.
2011-08-27 16:33:19 -04:00