From 498c89dc2738ec3c0943953428f339e69b18558d Mon Sep 17 00:00:00 2001 From: Luke Tidd Date: Fri, 18 Nov 2022 16:13:18 -0500 Subject: [PATCH] init --- README.md | 2 +- gclone | 36 ++++++++++++++++++++++++++++++++++++ gpull | 30 ++++++++++++++++++++++++++++++ gpush | 30 ++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100755 gclone create mode 100755 gpull create mode 100755 gpush diff --git a/README.md b/README.md index ef613e8..526b8bc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # repo_tools -wrapper scripts to securely access repos here \ No newline at end of file +wrapper scripts to securely access repos here diff --git a/gclone b/gclone new file mode 100755 index 0000000..16b9dcc --- /dev/null +++ b/gclone @@ -0,0 +1,36 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + printf 'Need a project:\n\n' >&2 + pass show gitea/token >&2 + exit 1 +fi + +project="$1" +shift +token="$(pass show gitea/token/${project})" +if [[ -z "$token" ]]; then + printf 'Failed to get token.\n' + exit 1 +fi +token_url="https://luke:${token}@git.drheck.dev/luke/${project}.git" +url="https://luke@git.drheck.dev/luke/${project}.git" + +if [[ "$project" == 'pass' ]]; then + if [[ -n "$@" ]]; then + pass git pull "$@" "$token_url" + else + pass git pull "token_url" + fi +else + if [[ -n "$@" ]]; then + readarray -t out <<< "$(git clone "$@" "$token_url" 2>&1)" + else + readarray -t out <<< "$(git clone "$token_url" 2>&1)" + fi + new_dir="$(awk -F\' '{print $2}' <<< "$out")" + cd "$new_dir" + git remote remove origin + git push --set-upstream "$url" main +fi + diff --git a/gpull b/gpull new file mode 100755 index 0000000..76e4566 --- /dev/null +++ b/gpull @@ -0,0 +1,30 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + printf 'Need a project:\n\n' >&2 + pass show gitea/token >&2 + exit 1 +fi + +project="$1" +shift +unset token +token="$(pass show gitea/token/${project})" +if [[ -z "$token" ]]; then + printf 'Failed to get token.\n' + exit 1 +fi +url="https://luke:${token}@git.drheck.dev/luke/${project}.git" +if [[ "$project" == 'pass' ]]; then + if [[ -n "$@" ]]; then + pass git pull "$@" "$url" + else + pass git pull "$url" + fi +else + if [[ -n "$@" ]]; then + git pull "$@" "$url" + else + git pull "$url" + fi +fi diff --git a/gpush b/gpush new file mode 100755 index 0000000..9cee32e --- /dev/null +++ b/gpush @@ -0,0 +1,30 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + printf 'Need a project:\n\n' >&2 + pass show gitea/token >&2 + exit 1 +fi + +project="$1" +shift +unset token +token="$(pass show gitea/token/${project})" +if [[ -z "$token" ]]; then + printf 'Failed to get token.\n' + exit 1 +fi +url="https://luke:${token}@git.drheck.dev/luke/${project}.git" +if [[ "$project" == 'pass' ]]; then + if [[ -n "$@" ]]; then + pass git push "$@" "$url" + else + pass git push "$url" + fi +else + if [[ -n "$@" ]]; then + git push "$@" "$url" + else + git push "$url" + fi +fi