task-git.sh
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.
Usage
- 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. Don't forget the following command:git branch --set-upstream-to=origin/<branche> master
. -
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-git
instead oftask
when you want the Taskwarrior database files to be automatically committed to version control after each operation. - Edit /etc/bash_completion.d/task to add this line to the end of the file so
task-git
will-complete the same as task
complete -o nospace -F _task task-git
For zsh, just put this following line before your alias list:
autoload -U compinit
compinit
compdef _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.
In the case where the repository is already present, symply clone it in the ~/.task folder that should not exist locally.
License
task-git.sh Copyright (C) 2013 Kosta Harlan
Copyright (C) 2015 Timothy Hallett (on modifications)
Copyright (C) 2017 Corentin Breton (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/.