Files
oasis-linux-mirror/scripts/tree.rc
2017-02-25 14:50:33 -08:00

31 lines
444 B
Bash

#!/bin/rc
flag e +
repo=$1
tag=$2
index=$3
out=$4
ifs='
'
fn checkstatus {}
GIT_INDEX_FILE=`{pwd}^/$out.index {
checkstatus
git -C $repo read-tree --empty
git -C $repo update-index --index-info <$index
tree=`{git -C $repo write-tree} ; checkstatus
rm $out.index
}
git -C $repo update-ref refs/tags/$tag $tree
if([ -e $out ]) {
oldtree=`{cat $out} ; checkstatus
if(~ $tree $oldtree)
exit 0
}
echo $tree >$out.tmp
mv $out.tmp $out