diff options
Diffstat (limited to 'plugins/files')
-rw-r--r-- | plugins/files/bin/commit.d.sh | 34 | ||||
-rw-r--r-- | plugins/files/bin/commit.f.sh | 33 | ||||
-rw-r--r-- | plugins/files/bin/commit.sh | 27 | ||||
-rw-r--r-- | plugins/files/bin/get.d.sh | 41 | ||||
-rw-r--r-- | plugins/files/bin/get.f.sh | 27 | ||||
-rw-r--r-- | plugins/files/bin/get.sh | 32 | ||||
-rw-r--r-- | plugins/files/bin/gettype.sh | 39 | ||||
-rw-r--r-- | plugins/files/etc/3-d.sh | 3 | ||||
-rw-r--r-- | plugins/files/etc/5-f.sh | 3 | ||||
-rw-r--r-- | plugins/files/info.mk.in | 3 | ||||
-rw-r--r-- | plugins/files/lib/stdio.sh | 66 |
11 files changed, 308 insertions, 0 deletions
diff --git a/plugins/files/bin/commit.d.sh b/plugins/files/bin/commit.d.sh new file mode 100644 index 0000000..0da1efb --- /dev/null +++ b/plugins/files/bin/commit.d.sh @@ -0,0 +1,34 @@ +#!/bin/sh +name='rvs files commit.d' +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>. + +. "$LIBDIR/@ID@/stdio" + +# commit.d DIRNAME +dir="${1?'usage: commit.d DIRNAME'}" +tmp=`mktemp` + +cd "$dir" +for file in *; do + id=`"$RVS" commit "$file"` + echo "$file:$id" >> "$tmp" +done + +"$RVS" commit.f "$tmp" d +rm "$tmp" + diff --git a/plugins/files/bin/commit.f.sh b/plugins/files/bin/commit.f.sh new file mode 100644 index 0000000..17de155 --- /dev/null +++ b/plugins/files/bin/commit.f.sh @@ -0,0 +1,33 @@ +#!/bin/sh +name='rvs files commit.f' +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>. + +#. "$LIBDIR/@ID@/stdio" + +# commit.f FILENAME +usage="usage: $RVS commit.f FILENAME [PREFIX]" +file="${1?"$usage"}" +prefix="${2-f}" + +hash=`sha1sum $file | sed "s/ .*$//"` +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/files/bin/commit.sh b/plugins/files/bin/commit.sh new file mode 100644 index 0000000..e8db1eb --- /dev/null +++ b/plugins/files/bin/commit.sh @@ -0,0 +1,27 @@ +#!/bin/sh +name='rvs filecontent commit' +ver=0.9 +# Copyright (C) 2009-2010 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>. + +. "$LIBDIR/@ID@/stdio" + +# commit FILE +file=${1-.} # take arg1 as the file, default to the current directory + +type=`"$RVS" gettype "$file"` +"$RVS" "commit.$type" "$file" + diff --git a/plugins/files/bin/get.d.sh b/plugins/files/bin/get.d.sh new file mode 100644 index 0000000..1a001d3 --- /dev/null +++ b/plugins/files/bin/get.d.sh @@ -0,0 +1,41 @@ +#!/bin/sh +name='rvs files get.d' +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>. + +#. "$LIBDIR/@ID@/stdio" + +usage="usage: $RVS get.d DIRNAME ID" +dir="${1?"$usage"}" + id="${2?"$usage"}" + +tmp=`mktemp` +"$RVS" get.f "$tmp" "$id" + +#install -d "$dir" +mkdir -p "$dir" + +cd "$dir" +rm -rf ./* +while read line; do + _id="`echo "$line" | sed 's/^.*://'`" + _name="`echo "$line" | sed 's@:'"$_id"'$@@'`" + "$RVS" get "$_name" "$_id" +done < "$tmp" + +rm "$tmp" + diff --git a/plugins/files/bin/get.f.sh b/plugins/files/bin/get.f.sh new file mode 100644 index 0000000..b137911 --- /dev/null +++ b/plugins/files/bin/get.f.sh @@ -0,0 +1,27 @@ +#!/bin/sh +name='rvs files get.f' +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>. + +#. "$LIBDIR/@ID@/stdio" + +usage="usage: $RVS get.f FILENAME ID" +name="${1?"$usage"}" + id="${2?"$usage"}" + +install -T "$REPO/@ID@/$id" "$name" + diff --git a/plugins/files/bin/get.sh b/plugins/files/bin/get.sh new file mode 100644 index 0000000..d3f046c --- /dev/null +++ b/plugins/files/bin/get.sh @@ -0,0 +1,32 @@ +#!/bin/sh +name='rvs filecontent get' +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>. + +#. "$LIBDIR/@ID@/stdio" + +usage="usage: $RVS get FILENAME ID" +name="${1?"$usage"}" + id="${2?"$usage"}" + +file="$REPO/@ID@/$id" + +type="`echo $id | sed 's:/.*::'`" +#hash="`echo $id | sed 's:.*/::'`" + +"$RVS" "get.$type" "$name" "$id" + diff --git a/plugins/files/bin/gettype.sh b/plugins/files/bin/gettype.sh new file mode 100644 index 0000000..84eb9da --- /dev/null +++ b/plugins/files/bin/gettype.sh @@ -0,0 +1,39 @@ +#!/bin/sh +name='rvs @ID@ gettype' +ver=0.9 +# Copyright (C) 2009-2010 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>. + +. "$LIBDIR/@ID@/stdio" + +usage="usage: $RVS gettype FILE" +file=${1?"$usage"} + +if [ ! -e "$file" ]; then + 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 [ -n "$type" ]; then + echo "$type" + else + fatal "cannot handle file type of \`$file'" + fi +fi + diff --git a/plugins/files/etc/3-d.sh b/plugins/files/etc/3-d.sh new file mode 100644 index 0000000..f169cae --- /dev/null +++ b/plugins/files/etc/3-d.sh @@ -0,0 +1,3 @@ +#!/bin/sh +if [ -d "$1" ]; then echo 'd'; fi + diff --git a/plugins/files/etc/5-f.sh b/plugins/files/etc/5-f.sh new file mode 100644 index 0000000..0506894 --- /dev/null +++ b/plugins/files/etc/5-f.sh @@ -0,0 +1,3 @@ +#!/bin/sh +if [ -f "$1" ]; then echo 'f'; fi + diff --git a/plugins/files/info.mk.in b/plugins/files/info.mk.in new file mode 100644 index 0000000..7552306 --- /dev/null +++ b/plugins/files/info.mk.in @@ -0,0 +1,3 @@ +name = files +ver = 0.9 +priority = 0 diff --git a/plugins/files/lib/stdio.sh b/plugins/files/lib/stdio.sh new file mode 100644 index 0000000..09d2ec7 --- /dev/null +++ b/plugins/files/lib/stdio.sh @@ -0,0 +1,66 @@ +#!/bin/sh +#name='rvs @ID@ stdio' +#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>. + +verbose() { + if [ "$volume" == '-v' ]; then + echo $@ >> /dev/stderr + fi +} + +out() { + if [ "$volume" != '-q' ]; then + echo $@ >> /dev/stderr + fi +} + +warn () { + echo "$name: $1" >> /dev/stderr +} + +fatal () { + warn "$1" + exit 1 +} + +error() { + warn "$1" + cat << __error__ >> /dev/stderr +Usage: $name $usage + +Try \`$name --help' for more options. +__error__ + exit 1 +} + +version() { + echo "$name $ver" + if [ "$volume" != '-q' ]; then + cat << __disclaimer__ +$name is 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>. +__disclaimer__ + fi + exit 0 +} + |