X-Git-Url: https://git.phdru.name/?p=git-scripts.git;a=blobdiff_plain;f=git-open;h=da3561ebe52e041c81df8d5b8ba54387e0ec73a3;hp=bb5d648f4f66488c4cb3fcb1dc4679baa37c48fd;hb=HEAD;hpb=cd03f0381699b0e121cc13c477c5d083ec8b21ee diff --git a/git-open b/git-open index bb5d648..4cf5946 100755 --- a/git-open +++ b/git-open @@ -1,25 +1,27 @@ #! /bin/sh -if [ -z "$1" ]; then - branch="`git rev-parse --abbrev-ref HEAD`" - remote="`git config --get branch.$branch.remote`" -elif [ -n "$2" ]; then - echo "Usage: git open [remote_name]" >&2 +if [ "x$1" = x-p ]; then + private="-p" + shift +fi + +if [ $# -ne 1 ]; then + echo "Usage: git open [-p] url_key" >&2 exit 1 -else - remote="$1" fi -if [ -z "$remote" ]; then - echo "Cannot find remote for branch $branch" >&2 - echo "Usage: git open [remote_name]" >&2 +url_key="$1" +if [ -z "$url_key" ]; then + echo "Usage: git open url_key" >&2 exit 1 fi browser_section="`git config --get web.browser`" browser_cmd="`git config --get browser.\"$browser_section\".cmd`" -if [ -z "$browser_cmd" ]; then +if [ x"$private" = x-p ]; then + browser_cmd="webbrowser -p" +elif [ -z "$browser_cmd" ]; then browser_cmd="webbrowser -n" fi -exec $browser_cmd "`git config --get remote.$remote.url`" +exec $browser_cmd "`git config --get $url_key | sed 's!^git@\([-A-Za-z0-9._]\+\):!https://\1/!'`"