Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
task-sync(5)			 User Manuals			  task-sync(5)

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

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.

ALTERNATIVES
       There are three alternatives for	syncing	data, which are:

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

OPTION 1: VERSION CONTROL SYSTEMS
       There are several good, distributed VCS systems (git, hg, ...) and cen-
       tralized	VCS systems (svn, cvs ...), and	they all function in a similar
       fashion for our purposes.

       Setup  is  straightforward.  You	place your .task directory under revi-
       sion control.  You then need to perform a regular  commit/push/pull/up-
       date  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 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:
	 - 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  configura-
       tion, 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://taskwar-
       rior.org/docs/taskserver/setup.html)

       Once  you  have an account, you'll receive a certificate, key, and cre-
       dentials.  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  ad-
       ditional	entries:

	   $ task config taskd.ca	   ~/.task/ca.cert.pem

       The  CA	(Certificate Authority)	will be	used to	verify the server cer-
       tificate.

       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 or-
       der.

       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 of-
       ten):

	   $ 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:
	 - Secure communication
	 - 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 - 2020 P. Beckingham,	F. Hernandez.

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

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

       For more	information regarding Taskwarrior, see the following:

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

       The official code repository at
	      <https://github.com/GothenburgBitFactory/taskwarrior>

       You can contact the project by emailing
	      <support@GothenburgBitFactory.org>

REPORTING BUGS
       Bugs in Taskwarrior may be reported to the issue-tracker	at
	      <https://github.com/GothenburgBitFactory/taskwarrior/issues>

task 2.5.2			  2016-02-24			  task-sync(5)

NAME | INTRODUCTION | ALTERNATIVES | OPTION 1: VERSION CONTROL SYSTEMS | OPTION 2: FILE SHARING SERVICES | OPTION 3: TASKSERVER | CREDITS & COPYRIGHTS | SEE ALSO | REPORTING BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=task-sync&sektion=5&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help