From d9ff223bbdab213a35ab59031d258a3635b86c2f Mon Sep 17 00:00:00 2001 From: Matěj Cepl Date: Mon, 15 Jan 2024 16:23:40 +0100 Subject: feat(git-request-get): Simplicity, plain /bin/sh, don’t do anything you needn’t to do. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- git-request-get | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) (limited to 'git-request-get') diff --git a/git-request-get b/git-request-get index c85b681..ad89ae3 100755 --- a/git-request-get +++ b/git-request-get @@ -1,39 +1,14 @@ -#!/bin/bash +#!/bin/sh set -eu -if [ $# -lt 1 ] ; then STR="$(cat)" -else -echo "No options yet!" -exit 1 -fi -# 1. Collect URL of the incoming repo URL="$(echo "$STR" | sed -n -e '/^are available in the Git repository at:/,+2 { s/[[:space:]]\+// s/\(=[[:digit:]]\{2\}\)\+$// /^\(http\|git\)/p }')" -# 2. Check it is in our remotes -mapfile REMOTES < <(git remote -v|awk '{print $1,$2;}') -REMOTE='' -for rem in "${REMOTES[@]}" ; do - if [[ ${rem} =~ $URL ]] ; then - REMOTE="$(echo "${rem}" | awk -F ' ' '{print $1;}' )" - break - fi -done - -# 3. Find the tip of the offered branch END="$(echo "$STR" | awk '/^for you to fetch changes up to / { print $NF }' | sed -e 's/[=:]*$//')" - -# 4. Fetch the remote -if [[ -n "$REMOTE" ]] ; then - git fetch "$REMOTE" "$END" -else - git fetch "$URL" "$END" -fi - -# 5. open new branch +git fetch "$URL" "$END" git checkout -B _4review FETCH_HEAD -- cgit