1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/bin/rc flag e + repo=$1 tag=$2 index=$3 out=$4 fn checkstatus {} wd=`{pwd} cd $repo git read-tree --empty git update-index --index-info <$wd/$index tree=`{git write-tree} ; checkstatus git update-ref refs/tags/$tag $tree ln -f refs/tags/$tag $wd/$out