task-git.sh is a wrapper around Taskwarrior's task that places the task
database in version control, and generates commits each time the task database
is altered.
-
Navigate to your Taskwarrior data directory (usually in
~/.task) and typegit init. If you plan to push to a remote, go ahead and add your remote now. -
Add symlink to task-git.sh as /usr/bin/task-git
ln -s /path/to/task-git/task-git.sh /usr/bin/task-git -
Run
chmod +x /path/to/task-git/task-git.sh. -
Use
task-gitinstead oftaskwhen you want the Taskwarrior database files to be automatically committed to version control after each operation. -
(Optional) Edit /etc/bash_completion.d/task to add this line to the end of the file so
task-gitwill -complete the same astaskcomplete -o nospace -F _task task-git
It is recommended to use the Taskwarrior database only on one machine, as you will be resolving conflicts if using the same task database on multiple machines.
task-git.sh Copyright (C) 2013 Kosta Harlan Copyright (C) 2015 Timothy Hallett (on modifications)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.