summaryrefslogtreecommitdiff
path: root/sh/cfg
diff options
context:
space:
mode:
Diffstat (limited to 'sh/cfg')
-rwxr-xr-xsh/cfg29
1 files changed, 29 insertions, 0 deletions
diff --git a/sh/cfg b/sh/cfg
new file mode 100755
index 0000000..92a097e
--- /dev/null
+++ b/sh/cfg
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+umask 077
+while getopts lsmM opt; do
+ case $opt in
+ #c)
+ # work_tree_dir="$HOME"
+ # meta_file="$XDG_CONFIG_HOME/myconf/cfg${opt}_meta"
+ # cmd="git --git-dir=$HOME/.cfg$opt/ --work-tree=$HOME"
+ # ;;
+ l|s)
+ work_tree_dir=/
+ meta_file="/etc/myconf/cfg${opt}_meta"
+ cmd="sudo -E git --git-dir=/etc/.cfg$opt/ --work-tree=/"
+ ;;
+ m)
+ sudo gitmetap "$cmd" "$work_tree_dir" "$meta_file"
+ $cmd diff
+ exit
+ ;;
+ M)
+ sudo gitmetar "$meta_file"
+ exit
+ ;;
+ \?) exit 1;;
+ esac
+done
+shift $((OPTIND-1))
+$cmd "$@"