Dustin J. Mitchell
ec35d4fa20
use a distinct error for out-of-sync replica
2021-10-20 21:23:29 -04:00
Dustin J. Mitchell
ed3475d9ea
support avoiding snapshots
2021-10-11 21:00:08 -04:00
Dustin J. Mitchell
d01386f3ea
Merge pull request #292 from taskchampion/issue291
...
Switch to pretty_assertions
2021-10-02 10:54:25 -04:00
Dustin J. Mitchell
bcef6bf392
remove redundant {..}
2021-10-01 22:18:24 -04:00
Dustin J. Mitchell
a143660124
Switch to pretty_assertions
2021-10-02 01:08:26 +00:00
Dustin J. Mitchell
255cf29d4f
Update docs
...
* improve linking
* parallel construction for storage and servers
* clarify rationale for Task/TaskMut
2021-09-26 13:59:04 -04:00
Dustin J. Mitchell
bb7130f960
Support multiple exit codes
...
..with more specific error enums.
2021-05-18 18:57:55 +00:00
Dustin J. Mitchell
3a2450cb23
provide context for errors to help debugging
2021-05-16 09:40:35 -04:00
Dustin J. Mitchell
fdeadfd981
Fix upper_case_acronyms lint
2021-03-29 13:26:02 +00:00
dbr
4d9755c43b
Replace 'failure' crate with anyhow+thiserror
...
Closes #148
2021-03-25 16:33:35 +11:00
Dustin J. Mitchell
02d9c577ab
use StorageConfig instead of ReplicaConfig
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
15ffc62279
rename taskstorage to storage
2021-01-10 22:22:17 -05:00
Dustin J. Mitchell
087769146e
Centralize API for working set to a single struct
...
Rather than allow addressing tasks either by working set ID or uuid,
with attendant performance issues, this moves the API for the working
set to a single struct that just serves as a 1-1 mapping of indexes to
UUIDs. It's up to the caller to use this information.
2021-01-09 23:42:27 +00:00
Dustin J. Mitchell
45d3e38c63
Always pass Uuids by value
...
Rust handles this well. Fixes #125 .
2021-01-09 22:09:06 +00:00
Dustin J. Mitchell
5e92770eb8
Automatically rebuild working set after sync
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
dc2df10158
Control whether to renumber the working set when rebuilding it
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
b62370c150
Rename replica.gc to replica.rebuild_working_set
...
The command-line operation is still `gc`, but we'll break that down into
finer pieces in the replica.
2021-01-02 13:23:48 -05:00
Dustin J. Mitchell
8a10fa8335
fix some more pedantic lints
2020-12-25 02:43:51 +00:00
Dustin J. Mitchell
de03209285
bits of docs
2020-11-29 21:26:39 -05:00
Dustin J. Mitchell
0a1ee470f7
use log and env_logger, and add some logging around sync
2020-11-29 18:18:28 -05:00
Dustin J. Mitchell
1b7dbd0715
remove delete_task from the Replica API so it's not misused
2020-11-29 14:26:47 -05:00
Dustin J. Mitchell
8af7ba286d
Factor replica and sync configuration into simple owned structs
2020-11-28 16:57:32 -05:00
Dustin J. Mitchell
0f98727d9b
replica.new_task now invents its own uuid
2020-11-26 22:44:13 -05:00
Dustin J. Mitchell
a81c84d7c7
refactor sync to new model
2020-11-25 17:58:03 -05:00
Dustin J. Mitchell
ca70d2c914
add cargo clippy to CI
2020-11-24 13:02:14 -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
fc668e5ca8
use usize to index working set
2020-11-24 11:53:11 -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
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