summaryrefslogtreecommitdiff
path: root/.files/etc/abomination/modules/rvs/get.d
diff options
context:
space:
mode:
Diffstat (limited to '.files/etc/abomination/modules/rvs/get.d')
-rwxr-xr-x.files/etc/abomination/modules/rvs/get.d32
1 files changed, 32 insertions, 0 deletions
diff --git a/.files/etc/abomination/modules/rvs/get.d b/.files/etc/abomination/modules/rvs/get.d
new file mode 100755
index 0000000..68d6aaa
--- /dev/null
+++ b/.files/etc/abomination/modules/rvs/get.d
@@ -0,0 +1,32 @@
+#!/bin/bash
+# abomination module:rvs:get:d
+name='rvs get.d'
+ver='0.5.10'
+usage='[OPTIONS] ID FILENAME'
+# Copyright (C) 2009 Luke Shumaker
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Originally written by Luke Shumaker <lukeshu@sbcglobal.net>.
+
+source "`rvs -d`/lib/stdio"
+source "`rvs -d`/lib/rvsdb"
+
+# get.d ID DIRNAME
+id="$1"
+dir="$2"
+
+tmp=`tempfile`
+rvs get.f `logread "$db" 'hash'` "$tmp"
+
+mkdir "$dir"
+for file in `cat "$tmp"`; do
+ hash=`echo "$file" | sed 's/^.*://'`
+ name=`echo "$file" | sed "s/:$hash$//"`
+ rvs get "$dir/$file"
+done
+
+rm "$tmp"
+