Commit graph

100 commits

Author SHA1 Message Date
Dustin J. Mitchell
a5c06008b3 use a trait object for the server, for dynamic dispatch 2020-11-26 19:59:52 -05:00
Dustin J. Mitchell
087333a227 refactor sync server into modules 2020-11-26 19:59:49 -05:00
Dustin J. Mitchell
d0bfbbb7f0
Merge pull request #59 from djmitche/issue8
Refactor synchronization
2020-11-25 20:12:46 -05:00
Dustin J. Mitchell
1511a0e38e update docs based on modified sync designs 2020-11-25 19:46:23 -05:00
Dustin J. Mitchell
3537db9bbe implement a local sync server 2020-11-25 19:13:32 -05:00
Dustin J. Mitchell
8f7e2e2790 add a 'task sync' command using a copy of the test server 2020-11-25 18:07:04 -05:00
Dustin J. Mitchell
a81c84d7c7 refactor sync to new model 2020-11-25 17:58:03 -05:00
Dustin J. Mitchell
e92fc0628b add signing support 2020-11-25 17:58:02 -05:00
Dustin J. Mitchell
75edd2773f make server operations fallible 2020-11-25 17:53:23 -05:00
Dustin J. Mitchell
549d3b9f6d refactor taskchampion::server into a module with submodules 2020-11-25 17:53:23 -05:00
Dustin J. Mitchell
7cfa27fc7e
Merge pull request #51 from djmitche/issue34
Remove `remove_from_working_set` method.
2020-11-24 13:14:12 -05:00
Dustin J. Mitchell
fc4fcc9e5d Remove remove_from_working_set method.
Items are only removed from the working set when it is rebuilt, so this
method is unnecessary.
2020-11-24 13:11:40 -05:00
Dustin J. Mitchell
a0573e2dbe
Merge pull request #50 from djmitche/issue18
add cargo clippy to CI
2020-11-24 13:08:48 -05:00
Dustin J. Mitchell
ca70d2c914 add cargo clippy to CI 2020-11-24 13:02:14 -05:00
Dustin J. Mitchell
2232aa8083
Merge pull request #47 from djmitche/issue43
Update handling of working set and show id's more widely
2020-11-24 12:19:47 -05:00
Dustin J. Mitchell
122abf4c5b
Merge pull request #46 from djmitche/issue40
export the Uuid type from taskchampion
2020-11-24 12:06:46 -05:00
Dustin J. Mitchell
1c5e9b009b Add Replica::get_working_set_index and use it
This is probably ridiculously inefficient, as it will load the working
set for each and every task listed.  Optimize later!
2020-11-24 12:05:30 -05:00
Dustin J. Mitchell
2dd86edd4a use Replica::get_working_set_task 2020-11-24 11:54:48 -05:00
Dustin J. Mitchell
fc668e5ca8 use usize to index working set 2020-11-24 11:53:11 -05:00
Dustin J. Mitchell
c8f14d68cb export the Uuid type from taskchampion 2020-11-24 11:44:21 -05:00
Dustin J. Mitchell
d84c156782
Merge pull request #45 from djmitche/issue30
add an 'info' subcommand
2020-11-24 11:42:34 -05:00
Dustin J. Mitchell
8233763295 add an 'info' subcommand 2020-11-24 11:31:56 -05:00
Dustin J. Mitchell
888b38fd79
Merge pull request #42 from djmitche/issue28
use prettytable for tabular outputs
2020-11-24 09:47:48 -05:00
Dustin J. Mitchell
f31a96176d use prettytable for tabular outputs 2020-11-23 21:58:45 -05:00
Dustin J. Mitchell
f7f5c379ea
Merge pull request #41 from djmitche/refactor-cli
Refactor command-line handling
2020-11-23 21:35:04 -05:00
Dustin J. Mitchell
fe4183c3ca Refactor command-line handling into modules per subcommands 2020-11-23 21:29:46 -05:00
Dustin J. Mitchell
e0b69a62b1 fix --help metadata 2020-11-23 16:18:24 -05:00
Dustin J. Mitchell
1de24f66dc restore README to top level 2020-11-23 16:12:46 -05:00
Dustin J. Mitchell
635852c6d9
Merge pull request #39 from djmitche/issue14
Refactor into several crates
2020-11-23 16:10:18 -05:00
Dustin J. Mitchell
084c978b31 move docs back to top level 2020-11-23 16:07:38 -05:00
Dustin J. Mitchell
2296d0fa35 rename DB to TaskDB for consistency 2020-11-23 16:03:04 -05:00
Dustin J. Mitchell
8e2b4c3f6c Reorganize taskchampion crate for docs and tests
The public API of the taskchampion crate now contains the expected parts
and no more, and has some better documentation.

This moves the crate's external `tests/` into internal tests, as the
TaskDB is no longer exposed as part of the crate API.
2020-11-23 15:59:37 -05:00
Dustin J. Mitchell
8f4924f903 remove unnecessary 'extern crate' 2020-11-23 15:02:37 -05:00
Dustin J. Mitchell
ba55d298ce stop ignoring dead code and unused variables 2020-11-23 14:29:51 -05:00
Dustin J. Mitchell
779a331003 reorganize into separate crates
- taskchampion -- core implementation of a replica
 - taskchampion-cli -- command-line interface
 - taskchampion-sync-server -- server implementation (not much yet!)
2020-11-23 14:27:47 -05:00
Dustin J. Mitchell
2830043e13
Merge pull request #38 from djmitche/issue21
Reorganize the Task API
2020-11-23 13:46:16 -05:00
Dustin J. Mitchell
245969e390 make task a simple top-level module 2020-11-23 12:53:58 -05:00
Dustin J. Mitchell
634aaadb73 Reorganize handling of task data
This abandons field-by-field compatibility with the TaskWarrior TDB2
format, which wasn't a sustainable strategy anyway.

Instead, tasks are represented as a TaskMap with custom key formats.  In
this commit, there are only a few allowed keys, with room to grow.

Replica returns convenience wrappers Task (read-only) and TaskMut
(read-write) with getters and setters to make modifying tasks easier.
2020-11-23 12:53:58 -05:00
Dustin J. Mitchell
c2c2a00ed5
Merge pull request #36 from djmitche/issue20
refactor working-set support, improve data model docs
2020-11-22 19:48:52 -05:00
Dustin J. Mitchell
03e4fc7cee Refactor working-set support, add pending tasks
This refactors the working-set support so that taskdb knows how to
rebuild the working set (in a single transaction) but replica knows what
tasks should be in that set.

This also adds support for automatically adding tasks to the working set
when they are marked pending.  Note that tasks are not *removed* from
the working set automatically, but only on a gc operation.
2020-11-22 18:19:05 -05:00
Dustin J. Mitchell
39a0dfe798 revise and expand docs about storage / taskdb / replica 2020-11-22 17:30:42 -05:00
Dustin J. Mitchell
ffbf272afc
Merge pull request #32 from djmitche/issue22
fix up some TODOs in replica.rs
2020-11-22 00:56:10 -05:00
Dustin J. Mitchell
1a2c17ab8c
Merge branch 'main' into issue22 2020-11-22 00:55:58 -05:00
Dustin J. Mitchell
4074db7729
Merge pull request #31 from djmitche/issue15-more
remove more taskwarrior compatibility stuff
2020-11-22 00:55:39 -05:00
Dustin J. Mitchell
f45292d049 remove more taskwarrior compatibility stuff 2020-11-22 00:51:41 -05:00
Dustin J. Mitchell
74fb3c3c41 fix up some TODOs in replica.rs 2020-11-21 23:46:53 -05:00
Dustin J. Mitchell
b3a0fe9f20
Merge pull request #27 from djmitche/issue12
add an mdbook
2020-11-21 21:32:09 -05:00
Dustin J. Mitchell
17fe90c8d0 poor excuse for documentation 2020-11-21 21:27:58 -05:00
Dustin J. Mitchell
ae8872d51e add an mdbook 2020-11-21 21:27:58 -05:00
Dustin J. Mitchell
1e28289b8b
Merge pull request #19 from djmitche/issue3
use a v1 .taskcluster.yml
2020-11-21 19:15:57 -05:00