diff options
| author | Michael Forney <mforney@mforney.org> | 2016-12-29 23:29:07 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-12-29 23:29:07 -0800 |
| commit | 36c037effc0ce49beaa5e27caed0343e137013a6 (patch) | |
| tree | 9741abb4eb56e15e2f5b819271b082f7ff9c530b /scripts/tree.rc | |
| parent | 4a9f8e3cb82e9b04fc7a63146569b997dc01c1e1 (diff) | |
Allow using /.git as output repository
Diffstat (limited to 'scripts/tree.rc')
| -rw-r--r-- | scripts/tree.rc | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/scripts/tree.rc b/scripts/tree.rc index 81f641c6..bbc2bd34 100644 --- a/scripts/tree.rc +++ b/scripts/tree.rc @@ -9,11 +9,16 @@ out=$4 fn checkstatus {} -wd=`{pwd} -cd $repo +git -C $repo read-tree --empty +git -C $repo update-index --index-info <$index +tree=`{git -C $repo write-tree} ; checkstatus +git -C $repo update-ref refs/tags/$tag $tree -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 +if([ -e $out ]) { + oldtree=`{cat $out} ; checkstatus + if(~ $tree $oldtree) + exit 0 +} + +echo $tree >$out.tmp +mv $out.tmp $out |
