X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/95596bda0de59feb3ddac135fbcc8720a083a86f..9725c0dbc20d4bba1fb189f36a810778668aeed9:/.zsh/func/giturl?ds=sidebyside diff --git a/.zsh/func/giturl b/.zsh/func/giturl index 26587e2..c4dd9de 100755 --- a/.zsh/func/giturl +++ b/.zsh/func/giturl @@ -2,7 +2,8 @@ # # func/giturl # -# a convenient way to display the gitweb URL of a commit-ish +# A convenient way to display the gitweb URL of a commit-ish, as well as the +# base URL and tree. Also for each argument, the tree or blob URL is printed. # # Copyright © 2010 martin f. krafft # Released under the terms of the Artistic Licence 2.0 @@ -18,12 +19,23 @@ REMOTE=$(git config --get remote.origin.url) local part case "$REMOTE" in - madduck:pub/*) part="${REMOTE#madduck:pub/}";; + madduck:pub/*|ssh://git.madduck.net/madduck/pub/*) + part="${REMOTE#madduck:pub/}" + part="${part#ssh://git.madduck.net/madduck/pub/}" + part="${part%.git}.git" + ;; *) echo >&2 "E: I do not know how to translate $REMOTE into a gitweb URL." return 1 ;; esac +echo $GITWEB_BASE/$part HASH=$(git rev-parse HEAD) echo $GITWEB_BASE/$part/commitdiff/$HASH + +echo $GITWEB_BASE/$part/tree/HEAD +for i in $@; do + [ -f "$i" ] && echo "$GITWEB_BASE/$part/blob/HEAD:/$i" + [ -d "$i" ] && echo "$GITWEB_BASE/$part/tree/HEAD:/$i" +done