aboutsummaryrefslogtreecommitdiff

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

  1. Navigate to your Taskwarrior data directory (usually in ~/.task) and type git 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.
  2. Add symlink to task-git.sh as /usr/bin/task-git

    ln -s /path/to/task-git/task-git.sh /usr/bin/task-git

  3. Run chmod +x /path/to/task-git/task-git.sh.

  4. Use task-git instead of task when you want the Taskwarrior database files to be automatically committed to version control after each operation.
  5. 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/.