#!/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 remote; remote=$(git config --get remote.origin.url) local part gitweb_base oldstyle oldstyle=0 case "$remote" in madduck:pub/*) gitweb_base=http://git.madduck.net/v part="${remote#madduck:pub/}" ;; debian:*|*://git.debian.org/git/*|*@git.debian.org/git/*) gitweb_base=http://git.debian.org part="${remote#debian:}" part="${part#*://git.debian.org/git/}" part="${part#*@git.debian.org/git/}" oldstyle=1 ;; *) echo >&2 "E: I do not know how to translate $REMOTE into a gitweb URL." return 1 ;; esac local hash hash=$(git rev-parse HEAD) case "$oldstyle" in 0) echo "$gitweb_base/$part/commitdiff/$hash";; *) echo "$gitweb_base/?p=$part;a=commitdiff;h=$hash";; esac