about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh')
-rwxr-xr-xmodules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh b/modules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh
new file mode 100755
index 00000000..25813e46
--- /dev/null
+++ b/modules/home.legacy/conf/taskwarrior/hooks/scripts/on-modify_sync-git-repo.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# override shell lib output to stdout
+eprint() {
+    # shellcheck disable=SC2317
+    print "$@"
+}
+eprintln() {
+    # shellcheck disable=SC2317
+    println "$@"
+}
+
+enable_hook_dbg() {
+    debug_hooks="$(task _get rc.debug.hooks)"
+    [ "$debug_hooks" ] && [ "$debug_hooks" -ge 1 ] && dbg_enable
+}
+
+update_git_repo() {
+    task_data="$(task _get rc.data.location)"
+    [ "$task_data" ] || die "Taskwarrior should have a location set"
+
+    cd "$task_data" || die "(BUG?): Your data.location path is not accessable"
+
+    [ -d ./.git/ ] || git init
+
+    git add .
+    git commit --message="chore: Update" --no-gpg-sign
+}
+
+read -r _old_task
+read -r new_task
+# We don't change the task, thus immediately return the json
+echo "$new_task"
+
+enable_hook_dbg
+update_git_repo
+
+exit 0
+
+# vim: ft=sh