summaryrefslogtreecommitdiff
path: root/scripts/commit.rc
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-29 23:29:07 -0800
committerMichael Forney <mforney@mforney.org>2016-12-29 23:29:07 -0800
commit36c037effc0ce49beaa5e27caed0343e137013a6 (patch)
tree9741abb4eb56e15e2f5b819271b082f7ff9c530b /scripts/commit.rc
parent4a9f8e3cb82e9b04fc7a63146569b997dc01c1e1 (diff)
Allow using /.git as output repository
Diffstat (limited to 'scripts/commit.rc')
-rw-r--r--scripts/commit.rc12
1 files changed, 5 insertions, 7 deletions
diff --git a/scripts/commit.rc b/scripts/commit.rc
index e7b5d468..870d7ab3 100644
--- a/scripts/commit.rc
+++ b/scripts/commit.rc
@@ -9,13 +9,11 @@ out=$4
fn checkstatus {}
-wd=`{pwd}
-cd $repo
-
-if([ -f refs/heads/$branch ]) parent=(-p $branch)
+if(git -C $repo show-ref -q --verify refs/heads/$branch)
+ parent=(-p $branch)
if not parent=()
message='oasis built by '`{id -un}
-commit=`{echo $message | git commit-tree $tag $parent} ; checkstatus
-git update-ref refs/heads/$branch $commit
-ln -f refs/heads/$branch $wd/$out
+commit=`{echo $message | git -C $repo commit-tree $tag $parent} ; checkstatus
+git -C $repo update-ref refs/heads/$branch $commit
+echo $commit > $out.tmp && mv $out.tmp $out