Provided by: taskwarrior_2.5.1+dfsg-6_amd64 bug

NAME

       task-sync  -  A  discussion  and  tutorial  for  the  various task(1) data synchronization
       capabilities.

INTRODUCTION

       Taskwarrior has several sync options, external and internal.  If you  wish  to  sync  your
       data,  choose  one method only; mixing methods is only going to lead to problems.  Each of
       the methods discussed have their own strengths.

ALTERNATIVES

       There are three alternatives for syncing data, which are:

       1) Version control systems, such as git, hg, svn
       2) File hosting systems, such as DropBox
       3) Using the Taskserver and the 'sync' command

OPTION 1: VERSION CONTROL SYSTEMS

       There are several good, distributed VCS systems (git, hg, ...) and centralized VCS systems
       (svn ...), and they 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:
         - Good data transport mechanisms
         - Secure transport options

       Weaknesses:
         - You need proficiency with VCS tools
         - You will need to manually resolve conflicts frequently
         - You need to provide the mechanism for making sure copies are up to date

OPTION 2: FILE HOSTING SERVICES

       There are many file hosting 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:
         - Always secure
         - Good client support
         - Easy setup
         - Transparent use

       Weaknesses:
         - Tasks are not properly merged

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 http://taskwarrior.org/docs/server_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.
       Alternatively, you can override the cert verification process using:

           $ task config taskd.trust       'allow all'

       This is an  insecure  option  that  should  be  used  with  caution,  because  it  directs
       Taskwarrior to trust any certificate.

       After setup, you run a one-time sync initialization, like this:

           $ task sync initialize

       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.

       Strengths:
         - Always secure
         - Minimal bandwidth
         - Tolerates connectivity outage

       Weaknesses:
         - You need to manage your own server, or gain access to a hosted server.

CREDITS & COPYRIGHTS

       Copyright (C) 2006 - 2016 P. Beckingham, F. Hernandez.

       Taskwarrior      is      distributed      under      the      MIT       license.       See
       http://www.opensource.org/licenses/mit-license.php for more information.

SEE ALSO

       task(1), taskrc(5), task-color(5),

       For more information regarding task, the following may be referenced:

       The official site at
              <http://taskwarrior.org>

       The official code repository at
              <https://git.tasktools.org/scm/tm/task.git>

       You can contact the project by writing an email to
              <support@taskwarrior.org>

REPORTING BUGS

       Bugs in task may be reported to the issue-tracker at
              <http://taskwarrior.org>