diff options
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/project-open | 31 | ||||
| -rwxr-xr-x | bin/repo-client | 3 |
2 files changed, 34 insertions, 0 deletions
diff --git a/bin/project-open b/bin/project-open new file mode 100755 index 0000000..a4bf523 --- /dev/null +++ b/bin/project-open @@ -0,0 +1,31 @@ +#!/bin/sh + +# shellcheck disable=SC2088 +dest=$( + find ~/git -mindepth 1 -maxdepth 1 -printf '%A@\t%f\n' | + sort -r | + cut -f 2 | + dmenu -l 10 -p '~/git/' +) + +[ -z "$dest" ] && exit 1 + +if cd "$HOME/git/$dest" 2> /dev/null +then + touch "$HOME/git/$dest" + st +else + while [ -z "$choice" ] + do + choice=$(printf 'yes\nno\n' | dmenu -p "Create a repository at ~/git/$dest?") + done + + case "$choice" in + "no") exit ;; + "yes") mkdir -p "$HOME/git/$dest" ;; + *) exit 1 ;; + esac + cd "$HOME/git/$dest" || exit 1 + git init + st +fi diff --git a/bin/repo-client b/bin/repo-client new file mode 100755 index 0000000..49049d8 --- /dev/null +++ b/bin/repo-client @@ -0,0 +1,3 @@ +#!/bin/sh + +ssh git@cacharle.xyz repo $* |
