summaryrefslogtreecommitdiff
path: root/scripts/hash.rc
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/hash.rc')
-rw-r--r--scripts/hash.rc21
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/hash.rc b/scripts/hash.rc
new file mode 100644
index 00000000..9b715308
--- /dev/null
+++ b/scripts/hash.rc
@@ -0,0 +1,21 @@
+#!/bin/rc
+
+flag e +
+
+repo=$1
+out=$2
+mode=$3
+name=$4
+shift 4
+
+hash=`{
+ switch($mode) {
+ case 120???
+ printf %s $1 | git -C $repo hash-object -w --stdin
+ case 100???
+ git -C $repo hash-object -w --stdin <$1
+ }
+}
+
+printf '%s %s\t%s\n' $mode $hash $name >$out.tmp
+mv $out.tmp $out