summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2010-03-30 22:53:01 -0600
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:19 -0600
commita24ba8ab70f657e66c29dc66478a82a0d1d10eed (patch)
treeb4cf10e02df61a2d8e96c8f6331da91aea82cf28
parentc2f77a2e6fc273f118fa5e9e00f8d26197aefae1 (diff)
so, I realised that because:
* filedata was stipped down to just filename * the directory structure of files/filecontent stored member names then: * all filedata was really doing is storing filetype so, I decided to make filetype inherent of ID in a fairly elegant way
-rw-r--r--plugins/filecontent/bin/commit.f.sh3
-rw-r--r--plugins/filecontent/bin/get.d.sh18
-rw-r--r--plugins/filecontent/bin/get.f.sh8
-rw-r--r--plugins/filecontent/bin/get.sh (renamed from plugins/filename/bin/get.sh)18
-rw-r--r--plugins/filecontent/bin/gettype.sh8
-rw-r--r--plugins/filecontent/lib/stdio.sh2
-rw-r--r--plugins/filename/bin/commit.sh36
-rw-r--r--plugins/filename/bin/init.sh21
-rw-r--r--plugins/filename/info.mk.in3
9 files changed, 27 insertions, 90 deletions
diff --git a/plugins/filecontent/bin/commit.f.sh b/plugins/filecontent/bin/commit.f.sh
index 726a7e3..17de155 100644
--- a/plugins/filecontent/bin/commit.f.sh
+++ b/plugins/filecontent/bin/commit.f.sh
@@ -25,7 +25,8 @@ file="${1?"$usage"}"
prefix="${2-f}"
hash=`sha1sum $file | sed "s/ .*$//"`
-if [ ! -f "$REPO/@ID@/$hash" ]; then
+if [ ! -f "$REPO/@ID@/$prefix/$hash" ]; then
+ mkdir -p "$REPO/@ID@/$prefix"
install -m 644 -o $USER -g $USER -T "$file" "$REPO/@ID@/$prefix/$hash"
fi
echo "$prefix/$hash"
diff --git a/plugins/filecontent/bin/get.d.sh b/plugins/filecontent/bin/get.d.sh
index 1723d8a..1a001d3 100644
--- a/plugins/filecontent/bin/get.d.sh
+++ b/plugins/filecontent/bin/get.d.sh
@@ -19,12 +19,12 @@ ver=0.9
#. "$LIBDIR/@ID@/stdio"
-# get.d ID DIRNAME
-id="$1"
-dir="$2"
+usage="usage: $RVS get.d DIRNAME ID"
+dir="${1?"$usage"}"
+ id="${2?"$usage"}"
tmp=`mktemp`
-"$RVS" get.f "$id" "$tmp"
+"$RVS" get.f "$tmp" "$id"
#install -d "$dir"
mkdir -p "$dir"
@@ -32,13 +32,9 @@ mkdir -p "$dir"
cd "$dir"
rm -rf ./*
while read line; do
- # GNU bash optimized version
- #hash=${line/#*:/}
- #name=${line/%:${hash}/}
- # POSIX version
- hash=`echo "$line" | sed 's/^.*://'`
- name=`echo "$line" | sed "s/:$hash$//"`
- "$RVS" get "$hash" "$name"
+ _id="`echo "$line" | sed 's/^.*://'`"
+ _name="`echo "$line" | sed 's@:'"$_id"'$@@'`"
+ "$RVS" get "$_name" "$_id"
done < "$tmp"
rm "$tmp"
diff --git a/plugins/filecontent/bin/get.f.sh b/plugins/filecontent/bin/get.f.sh
index c706931..b137911 100644
--- a/plugins/filecontent/bin/get.f.sh
+++ b/plugins/filecontent/bin/get.f.sh
@@ -19,9 +19,9 @@ ver=0.9
#. "$LIBDIR/@ID@/stdio"
-# get.f ID FILENAME
-id="$1"
-file="$2"
+usage="usage: $RVS get.f FILENAME ID"
+name="${1?"$usage"}"
+ id="${2?"$usage"}"
-install -T "$REPO/@ID@/$id" "$file"
+install -T "$REPO/@ID@/$id" "$name"
diff --git a/plugins/filename/bin/get.sh b/plugins/filecontent/bin/get.sh
index bc08063..d3f046c 100644
--- a/plugins/filename/bin/get.sh
+++ b/plugins/filecontent/bin/get.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-name='rvs files get'
+name='rvs filecontent get'
ver=0.9
# Copyright (C) 2009 Luke Shumaker
#
@@ -17,16 +17,16 @@ ver=0.9
# along with this program; see the file COPYING.
# If not, see <http://www.gnu.org/licenses>.
-# get ID
-usage="usage: $RVS get ID [FILENAME]"
-id="${1?"$usage"}"
+#. "$LIBDIR/@ID@/stdio"
+
+usage="usage: $RVS get FILENAME ID"
+name="${1?"$usage"}"
+ id="${2?"$usage"}"
file="$REPO/@ID@/$id"
- type="`sed -n 's/^type://p' "$file"`"
-name="${2-`sed -n 's/^name://p' "$file"`}"
- hash="`sed -n 's/^hash://p' "$file"`"
+type="`echo $id | sed 's:/.*::'`"
+#hash="`echo $id | sed 's:.*/::'`"
-"$RVS" get.$type "$hash" "$name"
-rm "$tmp"
+"$RVS" "get.$type" "$name" "$id"
diff --git a/plugins/filecontent/bin/gettype.sh b/plugins/filecontent/bin/gettype.sh
index 4592ee7..84eb9da 100644
--- a/plugins/filecontent/bin/gettype.sh
+++ b/plugins/filecontent/bin/gettype.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-name='rvs filecontent gettype'
+name='rvs @ID@ gettype'
ver=0.9
# Copyright (C) 2009-2010 Luke Shumaker
#
@@ -23,17 +23,17 @@ usage="usage: $RVS gettype FILE"
file=${1?"$usage"}
if [ ! -e "$file" ]; then
- error "file \`$file' does not exist";
+ fatal "file \`$file' does not exist";
else
type=''
for check in "$ETCDIR/@ID@/"*; do
type=`"$check" "$file"`
if [ -n "$type" ]; then break; fi
done
- if [ -z "$type" ]; then
+ if [ -n "$type" ]; then
echo "$type"
else
- error "cannot handle file type of \`$file'"
+ fatal "cannot handle file type of \`$file'"
fi
fi
diff --git a/plugins/filecontent/lib/stdio.sh b/plugins/filecontent/lib/stdio.sh
index ca4a86a..09d2ec7 100644
--- a/plugins/filecontent/lib/stdio.sh
+++ b/plugins/filecontent/lib/stdio.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-#name='rvs files stdio'
+#name='rvs @ID@ stdio'
#ver=0.9
# Copyright (C) 2009 Luke Shumaker
#
diff --git a/plugins/filename/bin/commit.sh b/plugins/filename/bin/commit.sh
deleted file mode 100644
index f4fd0f0..0000000
--- a/plugins/filename/bin/commit.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-name='rvs filename commit'
-ver=0.9
-# Copyright (C) 2009 Luke Shumaker
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING.
-# If not, see <http://www.gnu.org/licenses>.
-
-file="${1-.}"
-string="`cat "$TMPDIR/commit/filecontent"`"
-type=`echo $string | sed 's/:.*$//'`
-hash=`echo $string | sed 's/^.://'`
-
-temp=`mktemp`
-echo "#rvs-filename-0.9" > "$temp"
-echo "name:$file" >> "$temp"
-echo "type:$type" >> "$temp"
-echo "hash:$hash" >> "$temp"
-
-meta=`sha1sum "$temp" | sed "s/ .*$//"`
-if [ ! -f "$REPO/@ID@/$hash" ]; then
- install -m 644 -o $USER -g $USER -T "$temp" "$REPO/@ID@/$meta"
-fi
-echo "$meta"
-
diff --git a/plugins/filename/bin/init.sh b/plugins/filename/bin/init.sh
deleted file mode 100644
index 71a2aa8..0000000
--- a/plugins/filename/bin/init.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-name='rvs generic init'
-ver=0.9
-# Copyright (C) 2009 Luke Shumaker
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING.
-# If not, see <http://www.gnu.org/licenses>.
-
-mkdir -p "$REPO/@ID@"
-
diff --git a/plugins/filename/info.mk.in b/plugins/filename/info.mk.in
deleted file mode 100644
index 3cd3a0d..0000000
--- a/plugins/filename/info.mk.in
+++ /dev/null
@@ -1,3 +0,0 @@
-name = filename
-ver = 0.9
-priority = 1