mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
177 lines
5.5 KiB
Groff
177 lines
5.5 KiB
Groff
.TH task-sync 5 2016-02-24 "${PACKAGE_STRING}" "User Manuals"
|
|
|
|
.SH NAME
|
|
task-sync \- A discussion and tutorial for the various task(1) data
|
|
synchronization capabilities.
|
|
|
|
.SH INTRODUCTION
|
|
Taskwarrior has several sync options, both external and built in. If you wish
|
|
to sync your data, choose one method only; mixing methods is going to lead to
|
|
problems. Each of the methods discussed have their own strengths.
|
|
|
|
.SH ALTERNATIVES
|
|
There are three alternatives for syncing data, which are:
|
|
|
|
1) Version control systems, such as git, hg, svn
|
|
.br
|
|
2) File sharing systems, such as DropBox, Google Drive
|
|
.br
|
|
3) Using the Taskserver and the 'sync' command
|
|
|
|
|
|
.SH OPTION 1: VERSION CONTROL SYSTEMS
|
|
There are several good, distributed VCS systems (git, hg, ...) and centralized
|
|
VCS systems (svn, cvs ...), and they all function in a similar fashion for our
|
|
purposes.
|
|
|
|
Setup is straightforward. You place your .task directory under revision
|
|
control. You then need to perform a regular commit/push/pull/update to make
|
|
sure that the data is propagated when needed. You can even do this using shell
|
|
scripts so that every task command is preceded by a 'pull' and followed by
|
|
a 'push'.
|
|
|
|
Strengths:
|
|
.br
|
|
- Good data transport mechanisms
|
|
.br
|
|
- Secure transport options
|
|
|
|
Weaknesses:
|
|
.br
|
|
- You need proficiency with VCS tools
|
|
.br
|
|
- You will need to manually resolve conflicts frequently
|
|
.br
|
|
- You need to provide the mechanism for making sure copies are up to date
|
|
|
|
|
|
.SH OPTION 2: FILE SHARING SERVICES
|
|
There are many file sharing services, such as DropBox, Amazon S3, Google Drive,
|
|
SkyDrive and more. This technique involves storing your .task directory in a
|
|
shared directory under the control of the file hosting services.
|
|
|
|
Syncing happens quickly, although it is possible to run into conflict situations
|
|
when there is no network connectivity, and the tasks are modified in two
|
|
separate locations. This is because the file hosting service knows only about
|
|
files, and it has no idea how to merge tasks. Avoid this problem by never
|
|
modifying the same task on two machines, without an intervening sync.
|
|
|
|
Setup simply involves creating the directory and modifying your data.location
|
|
configuration variable like this:
|
|
|
|
$ task config data.location /path/to/shared/directory
|
|
|
|
Strengths:
|
|
.br
|
|
- Good client support
|
|
.br
|
|
- Easy setup
|
|
.br
|
|
- Transparent use
|
|
|
|
Weaknesses:
|
|
.br
|
|
- Tasks are not properly merged
|
|
|
|
|
|
.SH OPTION 3: TASKSERVER
|
|
The Taskserver was designed for this purpose to be secure, fast and conflict-
|
|
free, allowing data interchange between assorted Taskwarrior clients, and
|
|
tolerant of network connectivity problems.
|
|
|
|
There is a 'sync' command built in to Taskwarrior (provided the GnuTLS library
|
|
is installed), and with a server account and client configuration, syncing is
|
|
done on demand.
|
|
|
|
Setup is a matter of creating an account on a Taskserver (see your Taskserver
|
|
provider or operate your own - see
|
|
https://taskwarrior.org/docs/taskserver/setup.html)
|
|
|
|
Once you have an account, you'll receive a certificate, key, and credentials.
|
|
You'll need to put the certificate and key somewhere like this:
|
|
|
|
$ cp <name>.cert.pem ~/.task
|
|
$ cp <name>.key.pem ~/.task
|
|
|
|
Then you configure Taskwarrior, using the provided details:
|
|
|
|
$ task config taskd.certificate ~/.task/<name>.cert.pem
|
|
$ task config taskd.key ~/.task/<name>.key.pem
|
|
$ task config taskd.credentials <organization>/<name>/<UUID>
|
|
$ task config taskd.server <server domain>:<port>
|
|
|
|
If you are using a private server, you are likely also using a self-signed
|
|
certificate, which means you will need one of the following additional entries:
|
|
|
|
$ task config taskd.ca ~/.task/ca.cert.pem
|
|
|
|
The CA (Certificate Authority) will be used to verify the server certificate.
|
|
|
|
After setup, you run a one-time sync initialization, like this:
|
|
|
|
$ task sync init
|
|
|
|
This will make sure your client and the server are properly in sync to begin
|
|
with. From this point on, you never run the 'initialize' command again, just
|
|
go about your business, and when you want to sync, run this:
|
|
|
|
$ task sync
|
|
|
|
You'll see a summary of how many tasks were uploaded and downloaded. You can
|
|
safely run the command as often as you like. When there are no changes to sync,
|
|
nothing happens. If you do not have connectivity, your task changes accumulate
|
|
so that when you next run 'sync' with proper connectivity, the changes are
|
|
properly handled, in the right order.
|
|
|
|
If you run multiple clients that sync to the same server, you will need to run
|
|
this command on your primary client (the one you use most often):
|
|
|
|
$ task config recurrence on
|
|
|
|
And on the other clients, run:
|
|
|
|
$ task config recurrence off
|
|
|
|
This protects you against the effects of a sync/duplication bug.
|
|
|
|
Strengths:
|
|
.br
|
|
- Secure communication
|
|
.br
|
|
- Minimal bandwidth
|
|
.br
|
|
- Tolerates connectivity outage
|
|
|
|
Weaknesses:
|
|
.br
|
|
- You need to manage your own server, or gain access to a hosted server.
|
|
|
|
.SH "CREDITS & COPYRIGHTS"
|
|
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
|
|
|
|
Taskwarrior is distributed under the MIT license. See
|
|
https://www.opensource.org/licenses/mit-license.php for more information.
|
|
|
|
.SH SEE ALSO
|
|
.BR task(1),
|
|
.BR taskrc(5),
|
|
.BR task-color(5),
|
|
|
|
For more information regarding Taskwarrior, see the following:
|
|
|
|
.TP
|
|
The official site at
|
|
<https://taskwarrior.org>
|
|
|
|
.TP
|
|
The official code repository at
|
|
<https://github.com/GothenburgBitFactory/taskwarrior>
|
|
|
|
.TP
|
|
You can contact the project by emailing
|
|
<support@GothenburgBitFactory.org>
|
|
|
|
.SH REPORTING BUGS
|
|
.TP
|
|
Bugs in Taskwarrior may be reported to the issue-tracker at
|
|
<https://github.com/GothenburgBitFactory/taskwarrior/issues>
|