diff options
Diffstat (limited to 'plugins/filecontent/bin')
-rw-r--r-- | plugins/filecontent/bin/commit.d.sh | 34 | ||||
-rw-r--r-- | plugins/filecontent/bin/commit.f.sh | 32 | ||||
-rw-r--r-- | plugins/filecontent/bin/commit.sh | 27 | ||||
-rw-r--r-- | plugins/filecontent/bin/get.d.sh | 45 | ||||
-rw-r--r-- | plugins/filecontent/bin/get.f.sh | 27 | ||||
-rw-r--r-- | plugins/filecontent/bin/gettype.sh | 39 | ||||
-rw-r--r-- | plugins/filecontent/bin/init.sh | 21 |
7 files changed, 225 insertions, 0 deletions
diff --git a/plugins/filecontent/bin/commit.d.sh b/plugins/filecontent/bin/commit.d.sh new file mode 100644 index 0000000..0da1efb --- /dev/null +++ b/plugins/filecontent/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/filecontent/bin/commit.f.sh b/plugins/filecontent/bin/commit.f.sh new file mode 100644 index 0000000..726a7e3 --- /dev/null +++ b/plugins/filecontent/bin/commit.f.sh @@ -0,0 +1,32 @@ +#!/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@/$hash" ]; then + install -m 644 -o $USER -g $USER -T "$file" "$REPO/@ID@/$prefix/$hash" +fi +echo "$prefix/$hash" + diff --git a/plugins/filecontent/bin/commit.sh b/plugins/filecontent/bin/commit.sh new file mode 100644 index 0000000..e8db1eb --- /dev/null +++ b/plugins/filecontent/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/filecontent/bin/get.d.sh b/plugins/filecontent/bin/get.d.sh new file mode 100644 index 0000000..1723d8a --- /dev/null +++ b/plugins/filecontent/bin/get.d.sh @@ -0,0 +1,45 @@ +#!/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" + +# get.d ID DIRNAME +id="$1" +dir="$2" + +tmp=`mktemp` +"$RVS" get.f "$id" "$tmp" + +#install -d "$dir" +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" +done < "$tmp" + +rm "$tmp" + diff --git a/plugins/filecontent/bin/get.f.sh b/plugins/filecontent/bin/get.f.sh new file mode 100644 index 0000000..c706931 --- /dev/null +++ b/plugins/filecontent/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" + +# get.f ID FILENAME +id="$1" +file="$2" + +install -T "$REPO/@ID@/$id" "$file" + diff --git a/plugins/filecontent/bin/gettype.sh b/plugins/filecontent/bin/gettype.sh new file mode 100644 index 0000000..4592ee7 --- /dev/null +++ b/plugins/filecontent/bin/gettype.sh @@ -0,0 +1,39 @@ +#!/bin/sh +name='rvs filecontent 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 + error "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 + echo "$type" + else + error "cannot handle file type of \`$file'" + fi +fi + diff --git a/plugins/filecontent/bin/init.sh b/plugins/filecontent/bin/init.sh new file mode 100644 index 0000000..71a2aa8 --- /dev/null +++ b/plugins/filecontent/bin/init.sh @@ -0,0 +1,21 @@ +#!/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@" + |