#!/bin/bash set -e # stg-show - unlike "stg show", just "git show" with knowledge of stg refs # Ex: # stg-show --color-words -- files # Copyright (c) 2007 Yann Dirson # Subject to the GNU GPL, version 2. command=(git show) # subsitute git id's for stg ones until -- endofpatches=0 while [ "$#" -gt 0 ]; do case "$1" in --) endofpatches=1; break ;; -*) command+=("$1"); shift ;; *) command+=( $(stg id "$1" 2>/dev/null || echo "$1") ); shift ;; esac done # append remaining args command+=("$@") eval "${command[@]}"