Merge branch '2.3.0' into 2.4.0

Conflicts:
	AUTHORS
	CMakeLists.txt
	NEWS
	src/A3.cpp
	src/CMakeLists.txt
	src/Config.cpp
	src/Duration.cpp
	src/Duration.h
	src/Nibbler.cpp
	src/Nibbler.h
	src/RX.cpp
	src/RX.h
	src/columns/ColDate.cpp
	src/columns/ColScheduled.cpp
	src/commands/Command.cpp
	src/legacy.cpp
	src/utf8.cpp
	src/utf8.h
	test/CMakeLists.txt
	test/bug.mergedeps.t.postponed
	test/duration.t.cpp
	test/merge.duplicates.t
	test/merge.simple_duplication.t
	test/merge.t
	test/nibbler.t.cpp
	test/roundtrip.t
	test/rx.t.cpp
	test/utf8.t.cpp
This commit is contained in:
Paul Beckingham 2014-01-07 19:10:03 -05:00
commit 98f740e9d1
550 changed files with 6129 additions and 2976 deletions

View file

@ -265,7 +265,7 @@ your .taskrc file (note that your installation may use a slightly different path
from the example):
.RS
include /usr/local/share/doc/task/rc/dark-256.theme
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-256.theme
.RE
You can use any of the standard taskwarrior themes:
@ -304,7 +304,7 @@ Better yet, create your own, and share it. We will gladly host the theme file
on <http://taskwarrior.org>.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.

View file

@ -72,9 +72,9 @@ reason to back up your task data files!
.TP
.B Q: Can I have two separate versions of taskwarrior installed? How?
Yes, and here is one simple way to do that. Install the older version of
taskwarrior, and then rename the 'task' binary to something like 't194' to
taskwarrior, and then rename the 'task' binary to something like 't230' to
reflect the version number. Then install the newer version, which will be
named 'task'. Now you have 't194' and 'task' both installed, both using the
named 'task'. Now you have 't230' and 'task' both installed, both using the
same configuration and data.
Note that the older version will not be aware of any new configuration settings
@ -86,6 +86,9 @@ Note also that the man pages will overwrite, which is why it is suggested that
the older version be installed first, so that you benefit from improved
documentation.
Is this a good idea? Not really. You should be using the latest software
whenever possible, enjoying the benefits of enhancements and bug fixes.
.TP
.B Q: How do I build a Darwin 32bit version of task
The taskwarrior packages will not work on a 32-bit OSX installation on Core
@ -159,11 +162,6 @@ new file, then this command lists only the defaults.
Note that this is a good way to learn about new configuration settings,
particularly if your .taskrc file was created by an older version.
.TP
.B Q: Do I need to back up my taskwarrior data?
Yes you do, like all your other files. You should back up all the files in your
~/.task directory, and your ~/.taskrc file too.
.TP
.B Q: Can I share my tasks between different machines?
Yes, you can. Most people have success with a DropBox - a free and secure file
@ -174,40 +172,25 @@ folder, by modifying the:
configuration variable. Check out DropBox at http://www.dropbox.com.
You might also want to share the same .taskrc file. You can do this by putting an alias in the .bashrc file along the lines of
alias task="task rc:/home/username/Dropbox/mysharedtaskrc"
An alternative to Dropbox is to use the push/pull/merge features built into Taskwarrior. See 'man task-sync' for details.
You might also want to share the same .taskrc file. You can do this by putting
an alias in the .bashrc file along the lines of
alias task="task rc:/home/username/Dropbox/mysharedtaskrc"
.TP
.B Q: I don't want to use dropbox. Is there another way to synchronize my tasks?
Of course. Especially if you want to modify tasks offline on both machines and
synchronize them later on. For this purpose there is a 'merge' command which is
is able to insert the modifications you made to one of your task databases into
a second database.
Here is a basic example of the procedure:
task merge ssh://user@myremotehost/.task/
task push ssh://user@myremotehost/.task/
The first command fetches the undo.data file from the remote system, reads the
changes made and updates the local database. When this merge command completes,
you should copy all the local .data files to the remote system either by using
the push command explicitly or by activating the merge.autopush feature in the
~/.taskrc file. This way you ensure that both systems are fully synchronized.
Yes. Get a Taskserver account, and sync tasks between all your machines and
devices. See task-sync(5).
.TP
.B Q: The undo.data file gets very large - do I need it?
You need it if you want the undo capability, or the merge capability mentioned
above. But if it gets large, you can certainly truncate it to save space, just
be careful to delete lines from the top of the file, up to and including a
separator '---'. The simplest way is to simply delete the undo.data file. Note
that it does not slow down taskwarrior in performance-sensitive areas, because
it is typically not read until you want to undo, or report total active time in
the 'info' command. Taskwarrior generally only appends to the file.
You need it if you want the undo capability. But if it gets large, you can
certainly truncate it to save space, just be careful to delete lines from the
top of the file, up to and including a separator '---'. The simplest way is to
simply delete the undo.data file. Note that it does not slow down taskwarrior
in performance-sensitive areas, because it is typically not read until you want
to undo, or report total active time in the 'info' command. Taskwarrior
generally only appends to the file.
It is not recommended that you delete the undo.data file, as it limits
functionality.
@ -262,7 +245,8 @@ Taskwarrior does this to always show you the smallest numbers it can. The idea
is that if your tasks are numbered 1 - 33, for example, those are easy to type
in. If instead task kept a rolling sequence number, after a while your tasks
might be numbered 481 - 513, which makes it more likely to enter one
incorrectly, because there are more digits.
incorrectly, because there are more digits, and humans have difficulty with
longer numbers.
When you run a report (such as "list"), the numbers are assigned before display.
For example, you can do this:
@ -355,7 +339,7 @@ There are lots of ways. Here are some:
- Fix bugs
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.

View file

@ -1,361 +1,148 @@
.TH task-sync 5 2013-04-07 "${PACKAGE_STRING}" "User Manuals"
.SH NAME
task-sync \- A tutorial for the task(1) data synchronization capabilities.
task-sync \- A discussion and tutorial for the various task(1) data
synchronization capabilities.
.SH DESCRIPTION
Taskwarrior has built-in support for synchronization, which can be used to keep
two task databases up to date, regardless of which one is used. This capability
can also be used to keep a backup copy of your task database on another machine.
.SH 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.
Taskwarrior can use various protocols for transferring the data.
.SH HOW IT WORKS
If you were to manually attempt to keep two separate task databases up to date,
you would need to inspect both databases, and detect changes that occurred in
each one. Those changes would need to be migrated to the other database, while
being careful not to miss a change, and not to confuse an 'add' in one with
a 'delete' in the other.
The synchronization feature does just this. It can transfer task databases,
compare tasks, and apply changes where necessary.
.SH NEW COMMANDS
Taskwarrior has 'pull', 'push' and 'merge' commands which perform the steps
necessary to move files around and combine them. In the common use case, you
would only need to use the 'merge' command. These commands take an argument
that is a URI, which indicates where the remote database resides.
To be clear, the local database always refers to your ~/.task directory (unless
overridden), and the remote database is always specified by URI.
.SH MERGE
The merge command will fetch task data via URI and combine it with the local
task database. The syntax is:
.SH ALTERNATIVES
There are three alternatives for syncing data, which are:
1) Version control systems, such as git, hg, svn
.br
.RS
task merge [<URI>]
.RE
The URI is optional if the
.B merge.default.uri
configuration variable is set. The URI may point to a different directory, or
it may be a different computer. Here is an example of the merge command:
2) File hosting systems, such as DropBox
.br
.RS
$ task merge ~/work/
.RE
3) Using the Taskserver and the 'sync' command
This URI (~/work/) is a path name, which means the remote database is on the
same computer. Taskwarrior will fetch the data from the URI, and merge it with
your local data in ~/.task.
When complete, you will be asked whether you would like to push the combined
data back to the remote location specified by the URI. This is useful if you
are keeping two task databases synchronized, but it can be turned off. See
CONFIGURATION.
.SH 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.
Note that a merge operation is not atomically reversible. You could however
run the 'task undo' command repeatedly to undo the effects.
.SH PUSH
The push command will copy the local task database to the specified URI. The
syntax is:
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
.RS
task push [<URI>]
.RE
The URI is optional if the
.B push.default.uri
configuration variable is set. This command is useful for making backup copies
of your task database.
Note that the task files at the location specified by the URI are simply
overwritten, so don't expect any merging to occur. Misused, push can be
dangerous.
.SH PULL
The pull command will copy a task database from a URI to the local task database
(~/.task by default). The syntax is:
- Good data transport mechanisms
.br
.RS
task pull [<URI>]
.RE
The URI is optional if the
.B pull.default.uri
configuration variable is set. This command is useful for restoring a backup
copy of your task database.
Note that your local task database files will be simply overwritten by the files
obtained from the location specified by the URI, so don't expect any merging to
occur. Misused, pull can be dangerous.
.SH URI TYPES
The most basic URI is a path name on the local machine. An example would be:
- Secure transport options
Weaknesses:
.br
.RS
/home/bob/.task/
.RE
All the other URIs allow access to remote machines. The first uses SSH and scp
(either form can be used):
- You need proficiency with VCS tools
.br
.RS
ssh://[user@]host[:port]/absolute/path/to/.task/
- You will need to manually resolve conflicts frequently
.br
[user@]host:/absolute/path/to/.task/
.RE
- You need to provide the mechanism for making sure copies are up to date
In both cases paths are considered to be absolute. You can specify paths relative to the
users home directory as follows:
.SH 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:
.br
.RS
ssh://[user@]host[:port]/.task/
- Always secure
.br
[user@]host:.task/
.RE
or even shorter
- Good client support
.br
.RS
[user@]host:.task/
.RE
Remark: Since taskwarrior simply calls the scp binary you can specify very much anything
that scp would accept, e.g. host configurations from ~/.ssh/config or ~username
expansion:
- Easy setup
.br
.RS
ssh://configured-host/~[username]/.task/
- Transparent use
Weaknesses:
.br
configured-host:~[username]/.task/
.RE
- Tasks are not properly merged
Rsync is another supported protocol that minimizes network traffic, by a clever
algorithm that doesn't copy files that have not changed:
.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, 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/projects/taskwarrior/wiki/Server_setup)
Once you have an account, you'll receive a certificate, key and a password.
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 account details:
$ task config taskd.certificate ~/.task/<name>.cert.pem
$ task config taskd.key ~/.task/<name>.key.pem
$ task config taskd.credentials <organization>/<name>/<password>
$ 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 yes
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:
.br
.RS
rsync://[user@]host.xz[:port]/path/to/.task/
.RE
Curl supports several protocols that can transfer data using HTTP, HTTPS and
FTP:
- Always secure
.br
.RS
http://host[:port]/path/to/.task/
- Minimal bandwidth
.br
https://host[:port]/path/to/.task/
- Tolerates connectivity outage
Weaknesses:
.br
ftp://[user@]host[:port]/path/to/.task/
.RE
You can use single quotes to encapsulate user names that contain delimiting
characters like '@', '/' or ':', e.g.:
.br
.RS
ssh://'user@name'@host/
.RE
Remember to escape the quotes on your shell:
.br
.RS
$ task push ftp://\'user@name\':host/
.RE
.SH CONFLICTS
When modifications on the local and remote machine conflict, for example if
both machines change the project name of the same task to different values,
then Taskwarrior automatically selects the most recent change. Thus, there
are no conflicts.
.SH EXAMPLE - Backup on another machine
One very good use of 'push' is to make backup copies of your task database in
another location. Suppose your task database is kept in the usual place, in
the ~/.task directory, and you wanted to make a backup copy in ~/backup. You
would use this command:
.br
.RS
$ task push ~/backup/
.RE
This would copy the files in ~/.task to ~/backup, overwriting the files that
were already in ~/backup. To backup your files to another machine, you could
use:
.br
.RS
$ task push user@host:backup
.RE
This could be improved by setting the
.B push.default.uri
configuration variable and then relying on the default, like this:
.br
.RS
$ task config push.default.uri user@host:backup
.RE
and then you need only run the push command:
.br
.RS
$ task push
.RE
and the default push URI will be used. If you wanted to restore a backup, you
simply use the pull command instead:
.br
.RS
$ task pull user@host:backup
.RE
This can be simplified by setting the
.B pull.default.uri
configuration variable and then relying on the default, like this:
.br
.RS
$ task config pull.default.uri user@host:backup
.RE
Note that pull and push will blindly overwrite the task files without any
merging. Be careful.
.SH EXAMPLE - Keeping two task databases synchronized
The most common synchronization will be to keep two task databases synchronized
on different machines. Here is a full example, including setup that illustrates
this.
Suppose there are two machines, named 'local' and 'remote', for simplicity.
Taskwarrior is installed on both machines. The different machines are
indicated here by the prompt. Suppose Alice enters two tasks on her local
machine:
.br
.RS
local> task add Deliver the new budget proposal due:tuesday
.br
local> task add Set up a meeting with Bob
.RE
Then later adds a task on the remote machine:
.br
.RS
remote> task add Present the budget proposal at the big meeting due:thursday
.RE
Now on the local machine, Alice merges the two task databases:
.br
.RS
local> task merge alice@remote:.task
.br
Would you like to push the changes to 'alice@remote:.task'? Y
.RE
Taskwarrior has combined the two task databases on local, then pushed the
changes back to remote. Now suppose Alice changes the due date for task 1
on remote:
.br
.RS
remote> task 1 due:wednesday
.RE
Now on the local machine, Alice sets up a default URI and autopush:
.br
.RS
local> task config merge.default.uri alice@remote:.task
.br
local> task config merge.autopush yes
.RE
Now Alice can simply run merge to make sure that the new due date is copied to
the local machine:
.br
.RS
local> task merge
.RE
This time the URI is determined automatically, and after the merge the files are
pushed back to the remote machine. In a similar way, the remote machine can
also be configured to merge from the local machine and push back to it. Then it
is just a matter of Alice remembering to merge now and then, from either
machine, to have her data in two (or even more) places.
.SH CONFIGURATION
By setting these configuration variables, it is possible to simplify the
synchronization commands, by relying on the defaults or alias names.
.br
.B merge.autopush=yes|no|ask
.RS
This controls whether the automatic push after a merge is performed, not
performed, or whether the user is asked every time. The default value is 'ask'.
.RE
.br
.B merge.default.uri=<uri>
.RS
Sets a default URI so that just the 'task merge' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set merge.desktop.uri and run 'task merge desktop'.
.RE
.br
.B push.default.uri=<uri>
.RS
Sets a default URI so that just the 'task push' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set push.desktop.uri and run 'task push desktop'.
.RE
.br
.B pull.default.uri=<uri>
.RS
Sets a default URI so that just the 'task pull' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set pull.desktop.uri and run 'task pull desktop'.
.RE
Note that, when using SSH/scp, hostnames will be expanded due to the ssh
configuration file ~/.ssh/config.
.SH EXTERNAL DEPENDENCIES
Depending on the URI protocols used, the utilities 'scp', 'rsync' and 'curl'
must be installed and accessible via the $PATH environment variable.
If you have deleted your ~/.task/undo.data file to save space, you will be
unable to merge. The change transactions stored in the undo.data file are
used for synchronization.
- You need to manage your own server, or gain access to a hosted server.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
The sync capabilities were written by J. Schlatow.
Parts copyright (C) 2010 - 2013 J. Schlatow.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.
@ -367,7 +154,6 @@ http://www.opensource.org/licenses/mit-license.php for more information.
.BR task-faq(5),
.BR task-color(5),
.BR task-tutorial(5),
.BR ssh_config(5)
For more information regarding task, the following may be referenced:

View file

@ -1286,19 +1286,19 @@ theme into the configuration file, you can see some striking effects. For a
blue theme, add this line to your .taskrc file:
.RS
include /usr/local/share/doc/task/rc/dark-blue-256.theme
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-blue-256.theme
.RE
For a red theme:
.RS
include /usr/local/share/doc/task/rc/dark-red-256.theme
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-red-256.theme
.RE
For a general dark theme:
.RS
include /usr/local/share/doc/task/rc/dark-256.theme
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-256.theme
.RE
Here are two color rules that specify a dark blue background for all tasks that
@ -1497,7 +1497,7 @@ used most. You can create your own, or use one of the samples to show holidays
on the calendar. Try adding this line to your ~/.taskrc file:
.RS
include /usr/local/share/doc/task/rc/holidays.en-US.rc
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/holidays.en-US.rc
.RE
Then:
@ -3081,7 +3081,7 @@ $ task help
.RE
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
This man page was originally written by Federico Hernandez, and has been modified and supplemented by Paul Beckingham.

View file

@ -144,8 +144,8 @@ Shows a graphical burndown chart, by month.
.B task calendar [due|<month> <year>|<year>] [y]
Shows a monthly calendar with due tasks marked. Shows one horizontal line of
months. If the 'y' argument is provided, will show at least one complete year.
If a year is provided, such as '2013', then that full year is shown. If both
a month and a year are specified ('6 2013') then the months displayed begin at
If a year is provided, such as '2014', then that full year is shown. If both
a month and a year are specified ('6 2014') then the months displayed begin at
the specified month and year. If the 'due' argument is provided, will show
the starting month of the earliest due task.
@ -173,7 +173,18 @@ Displays only a count of tasks matching the filter.
Exports all tasks in the JSON format. Redirect the output to a file, if you
wish to save it, or pipe it to another command or script to convert it to
another format. The standard task release comes with a few example scripts,
such as export-yaml.pl.
such as:
export-csv.pl
export-sql.py
export-xml.py
export-yaml.pl
export-html.pl
export-tsv.pl
export-xml.rb
export-ical.pl
export-xml.pl
export-yad.pl
.TP
.B task <filter> ghistory.annual
@ -335,29 +346,15 @@ provided for exceptional circumstances. Use carefully.
.TP
.B task import <file> [<file> ...]
Imports tasks in the JSON format. The standard task release comes with a few
example scripts, such as import-yaml.pl.
example scripts, such as:
import-todo.sh.pl
import-yaml.pl
.TP
.B task log <mods>
Adds a new task that is already completed, to the task list.
.TP
.B task merge <URL>
Merges two task databases by comparing the modifications that are stored in the
undo.data files. The location of the second undo.data file must be passed on as
argument. URL may have the following syntaxes:
ssh://[user@]host.xz[:port]/path/to/.task/
rsync://[user@]host.xz[:port]/path/to/.task/
[user@]host.xz:path/to/.task/
/path/to/local/.task/
You can set aliases for frequently used URLs in the .taskrc. Further
documentation can be found in the task-sync(5) man page.
.TP
.B task <filter> modify <mods>
Modifies the existing task with provided information.
@ -366,17 +363,6 @@ Modifies the existing task with provided information.
.B task <filter> prepend <mods>
Prepends description text to an existing task.
.TP
.B task pull <URL>
Overwrites the task database with those files found at the URL.
(See 'merge' command for valid URL syntax.)
.TP
.B task push <URL>
Pushes the task database to a remote location for distributing the
changes made by the merge command.
(See 'merge' command for valid URL syntax.)
.TP
.B task <filter> start <mods>
Marks the specified tasks as started.
@ -533,6 +519,24 @@ Shows the IDs and descriptions of matching tasks.
.B task <filter> _zshuuids
Shows the UUIDs and descriptions of matching tasks.
.TP
.B task _get <DOM> [<DOM> ...]
Accesses and displays the DOM reference(s). Used to extract individual values
from tasks, or the system. Supported DOM references are:
rc.<name>
context.program
context.args
context.width
context.height
system.version
system.os
<id>.<attribute>
<uuid>.<attribute>
Note that the 'rc.<name>' reference may need to be escaped using '--' to prevent
the reference from being interpreted as an override.
.SH ATTRIBUTES AND METADATA
.TP
@ -570,9 +574,13 @@ are:
DUE Matches if the task is due
DUETODAY Matches if the task is due today
TODAY Matches if the task is due today
WEEK Matches if the task is due this week
MONTH Matches if the task is due this month
YEAR Matches if the task is due this year
OVERDUE Matches if the task is overdue
ACTIVE Matches if the task is started
SCHEDULED Matches if the task is scheduled
PARENT Matches if the task is a parent
CHILD Matches if the task has a parent
UNTIL Matches if the task expires
WAITING Matches if the task is waiting
@ -882,6 +890,22 @@ This sets the wait date to 1/18/2038.
.TP
Next occurring weekday
task ... due:fri
.TP
Predictable holidays
task ... due:goodfriday
.br
task ... due:easter
.br
task ... due:eastermonday
.br
task ... due:ascension
.br
task ... due:pentecost
.br
task ... due:midsommar
.br
task ... due:midsommarafton
.RE
.SS FREQUENCIES
@ -1057,10 +1081,10 @@ The file that contains the completed ("done") tasks.
.TP
~/.task/undo.data
The file that contains information needed by the "undo" and "merge" commands.
The file that contains information needed by the "undo" command.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.

View file

@ -80,6 +80,8 @@ The hash mark, or pound sign ("#") is used as a comment character. It can be
used to annotate the configuration file. All text after the character to the end
of the line is ignored.
The configuration file supports UTF8 as well as JSON encoding, such as \\uNNNN.
Note that taskwarrior is flexible about the values used to represent Boolean
items. You can use "on", "yes", "y", "1" and "true".
Anything else means "off".
@ -89,7 +91,7 @@ You can edit your .taskrc file by hand if you wish, or you can use the 'config'
command. To permanently set a value in your .taskrc file, use this command:
.RS
$ task config nag "You have higher priority tasks!"
$ task config nag "You have more urgent tasks."
.RE
To delete an entry, use this command:
@ -129,9 +131,9 @@ ones containing just the relevant configuration data like colors, etc.
There are two excellent uses of includes in your .taskrc, shown here:
.RS
include /usr/local/share/doc/task/rc/holidays.en-US.rc
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/holidays.en-US.rc
.br
include /usr/local/share/doc/task/rc/dark-16.theme
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-16.theme
.RE
This includes two standard files that are distributed with taskwarrior, which
@ -139,7 +141,7 @@ define a set of US holidays, and set up a 16-color theme to use, to color the
reports and calendar.
.SH ENVIRONMENT VARIABLES
These environmant variables override defaults and command line arguments.
These environment variables override defaults and command line arguments.
.TP
.B TASKDATA=~/.task
@ -304,11 +306,11 @@ variable is "no".
This is useful for preventing large-scale unintended changes.
.TP
.B nag=You have higher priority tasks.
.B nag=You have more urgent tasks.
This may be a string of text, or blank. It is used as a prompt when a task is
started or completed that is not considered high priority. Default value is:
You have higher priority tasks. It is a gentle reminder that you are
contradicting your own priority settings.
You have more urgent tasks. It is a gentle reminder that you are contradicting
your own priority settings.
.TP
.B complete.all.projects=yes
@ -445,6 +447,10 @@ debug output can be useful. It can also help explain how the command line is
being parsed, but the information is displayed in a developer-friendly, not a
user-friendly way.
.TP
.B debug.tls=0
Controls the GnuTLS log level. For 'sync' debugging.
.TP
.B alias.rm=delete
Taskwarrior supports command aliases. This alias provides an alternate name
@ -486,41 +492,45 @@ characters:
.RS
.RS
m minimal-digit month, for example 1 or 12
m minimal-digit month, for example 1 or 12
.br
d minimal-digit day, for example 1 or 30
d minimal-digit day, for example 1 or 30
.br
y two-digit year, for example 09 or 12
y two-digit year, for example 09 or 12
.br
D two-digit day, for example 01 or 30
D two-digit day, for example 01 or 30
.br
M two-digit month, for example 01 or 12
M two-digit month, for example 01 or 12
.br
Y four-digit year, for example 2009 or 2013
Y four-digit year, for example 2009 or 2014
.br
a short name of weekday, for example Mon or Wed
a short name of weekday, for example Mon or Wed
.br
A long name of weekday, for example Monday or Wednesday
A long name of weekday, for example Monday or Wednesday
.br
b short name of month, for example Jan or Aug
b short name of month, for example Jan or Aug
.br
B long name of month, for example January or August
B long name of month, for example January or August
.br
v minimal-digit week, for example 3 or 37
v minimal-digit week, for example 3 or 37
.br
V two-digit week, for example 03 or 37
V two-digit week, for example 03 or 37
.br
h minimal-digit hour, for example 3 or 21
h minimal-digit hour, for example 3 or 21
.br
n minimal-digit minutes, for example 5 or 42
n minimal-digit minutes, for example 5 or 42
.br
s minimal-digit seconds, for example 7 or 47
s minimal-digit seconds, for example 7 or 47
.br
H two-digit hour, for example 03 or 21
H two-digit hour, for example 03 or 21
.br
N two-digit minutes, for example 05 or 42
N two-digit minutes, for example 05 or 42
.br
S two-digit seconds, for example 07 or 47
S two-digit seconds, for example 07 or 47
.br
J three-digit Julian day, for example 023 or 365
.br
j Julian day, for example 23 or 365
.RE
.RE
@ -701,7 +711,7 @@ be included like this:
.RS
.RS
.br
include /usr/local/share/doc/task/rc/holidays.en-US.rc
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/holidays.en-US.rc
.RE
.RE
@ -835,7 +845,7 @@ Colors any task where the description or any annotation contains X.
.TP
.B color.uda.X=on green
Colors any taks that has the user defined attribute X.
Colors any task that has the user defined attribute X.
.RE
.TP
@ -957,7 +967,7 @@ a change that is to be reverted.
.br
.B color.sync.rejected=red
.RS
Colors the output of the merge command.
Colors the output of the sync command.
.RE
.TP
@ -1040,6 +1050,7 @@ Specific tag coefficient.
.B urgency.user.project.<project>.coefficient=...
.RS
Specific project coefficient.
.RE
.B urgency.uda.<name>.coefficient=...
.RS
Presence/absence of UDA data.
@ -1078,31 +1089,6 @@ shadow.notify=on
When this value is set to "on", taskwarrior will display a message whenever the
shadow file is updated by some task command.
.SS PUSH/PULL/MERGE
See the 'man task-synch' page for more details regarding usage.
.TP
.B merge.autopush=yes|no|ask
.RS
Determines post-merge behavior regarding automatic push.
.RE
.B merge.default.uri
.RS
Default merge URI.
.RE
.B pull.default.uri
.RS
Default pull URI.
.RE
.B push.default.uri
.RS
Default push URI.
.RE
.SS DEFAULTS
.TP
@ -1126,6 +1112,13 @@ Provides a default due date for the
.I task add
command, if you don't specify one. The default is blank.
.TP
.B
uda.<name>.default=...
Provides default values for UDA fields when using the
.I task add
command, if you don't specify values. The default is blank.
.TP
.B
default.command=next
@ -1173,11 +1166,8 @@ The description for report X when running the "task help" command.
.TP
.B report.X.columns
The columns that will be used when generating the report X. Valid columns are:
id, uuid, status, project, priority, priority_long, entry, start, end, due,
countdown, countdown_compact, age, age_compact, active, tags, depends,
description_only, description, recur, recurrence_indicator, tag_indicator and
wait. The IDs are separated by commas.
This is a comma-separated list of columns and formatting specifiers. See the
command 'task columns' for a full list of options and examples.
.TP
.B report.X.labels
@ -1191,7 +1181,7 @@ specified by using the column ids post-fixed by a "+" for ascending sort order
or a "-" for descending sort order. The sort IDs are separated by commas.
For example:
report.list.sort=due+,priority-,active-,project+
report.list.sort=due+,priority-,start.active-,project+
.TP
.B report.X.filter
@ -1330,8 +1320,63 @@ of a task.
.B uda.estimate.values=trivial,small,medium,large,huge
.RE
.SS SYNC
These configuration settings are used to connect and sync tasks with the task
server.
.TP
.B taskd.server=<host>:<port>
.RS
Specifies the hostname and port of the Taskserver. Hostname may be an IPv4 or
IPv6 address, or domain. Port is an integer.
.RE
.TP
.B taskd.credentials=<organization>/<user>/<key>
.RS
User identification for the Taskserver, which includes a private key.
.RE
.TP
.B taskd.certificate=<path>
.RS
Specifies the path to the client certificate used for identification with the
Taskserver.
.RE
.TP
.B taskd.key=<path>
.RS
Specifies the path to the client key used for encrypted communication with the
Taskserver.
.RE
.TP
.B taskd.ca=<path>
.RS
Specifies the path to the CA certificate in the event that your Taskserver is
using a self-signed certificate. Optional.
.RE
.TP
.B taskd.trust=yes|no
.RS
If you do not specify a CA certificate when your Taskserver is using a self-
signed certificate, you can override the certificate validation by setting this
value to 'yes'. Default is not to trust a server certificate.
.RE
.TP
.B taskd.ciphers=NORMAL
Override of the cipher selection. The set of ciphers used by TLS may be
controlled by both server and client. There must be some overlap between
client and server supported ciphers, or communication cannot occur.
Default is "NORMAL". See GnuTLS documentation for full details.
.RE
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
This man page was originally written by Federico Hernandez.

View file

@ -149,7 +149,7 @@ ID Project Pri Due Active Age Description
.RE
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2014 P. Beckingham, F. Hernandez.
This man page was originally written by Federico Hernandez.

View file

@ -5,10 +5,7 @@ Calendar trick
Metadata
Sync
push
pull
merge
sync (needs 2.3.0 & task server)
sync (needs 2.3.0 & Taskserver)
Logo?

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/be-BY/2013.json
# http://holidata.net/be-BY/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/cs-CZ/2013.json
# http://holidata.net/cs-CZ/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/da-DK/2013.json
# http://holidata.net/da-DK/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/de-AT/2013.json
# http://holidata.net/de-AT/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/de-DE/2013.json
# http://holidata.net/de-DE/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/en-CA/2013.json
# http://holidata.net/en-CA/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/en-GB/2013.json
# http://holidata.net/en-GB/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/en-NZ/2013.json
# http://holidata.net/en-NZ/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/en-US/2013.json
# http://holidata.net/en-US/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/es-ES/2013.json
# http://holidata.net/es-ES/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/fr-FR/2013.json
# http://holidata.net/fr-FR/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/it-IT/2013.json
# http://holidata.net/it-IT/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/jp-JP/2013.json
# http://holidata.net/jp-JP/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/nb-NO/2013.json
# http://holidata.net/nb-NO/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/nl-NL/2013.json
# http://holidata.net/nl-NL/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
# http://holidata.net/sv-SE/2013.json
# http://holidata.net/sv-SE/2014.json
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Colors used are based on the Solarized palette created by Ethan Schoonover
# <http://ethanschoonover.com/solarized>

View file

@ -3,7 +3,7 @@
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
# Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
#
# Colors used are based on the Solarized palette created by Ethan Schoonover
# <http://ethanschoonover.com/solarized>

Binary file not shown.

Binary file not shown.