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 - 2021 T. Babej, 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.6.2			  2016-02-24			  task-sync(5)

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

home | help