#!/bin/sh # # func/giturl # # a convenient way to display the gitweb URL of a commit-ish # # Copyright © 2010 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # # Source repository: git://git.madduck.net/etc/zsh.git # local GITWEB_BASE GITWEB_BASE=http://git.madduck.net/v local REMOTE REMOTE=$(git config --get remote.origin.url) local part case "$REMOTE" in madduck:pub/*) part="${REMOTE#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