diff options
Diffstat (limited to 'plugins/files/bin')
-rw-r--r-- | plugins/files/bin/commit | 36 | ||||
-rw-r--r-- | plugins/files/bin/commit.d.sh | 35 | ||||
-rw-r--r-- | plugins/files/bin/commit.f.sh | 32 | ||||
-rw-r--r-- | plugins/files/bin/commit.sh | 36 | ||||
-rw-r--r-- | plugins/files/bin/get.d.sh | 45 | ||||
-rw-r--r-- | plugins/files/bin/get.f.sh | 27 | ||||
-rw-r--r-- | plugins/files/bin/get.sh | 34 |
7 files changed, 245 insertions, 0 deletions
diff --git a/plugins/files/bin/commit b/plugins/files/bin/commit new file mode 100644 index 0000000..63eaac1 --- /dev/null +++ b/plugins/files/bin/commit @@ -0,0 +1,36 @@ +#!/bin/sh +name='rvs files 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>. + +source "$libexecdir/@ID@/stdio" + +# commit FILE +file=${1-.} # take arg1 as the file, default to the current directory + +if [ ! -e "$file" ]; then + error "file \`$file' does not exist"; +else + foundMod='false'; + for type in select/*; do + if "$type" "$file"; then foundMod='true'; break; fi + done + if [ "$foundMod" == 'false' ]; then + error "cannot handle file type of \`$file'" + fi +fi + diff --git a/plugins/files/bin/commit.d.sh b/plugins/files/bin/commit.d.sh new file mode 100644 index 0000000..f5b432b --- /dev/null +++ b/plugins/files/bin/commit.d.sh @@ -0,0 +1,35 @@ +#!/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>. + +source "$libexecdir/@ID@/stdio" + +# commit.d DIRNAME +out="$1" +dir="$2" +tmp=`mktemp` + +cd "$dir" +for file in *; do + hash=`"$RVS" commit "$file"` + echo "$file:$hash" >> "$tmp" +done + +"$RVS" commit.f "$out" "$tmp" +rm "$tmp" + diff --git a/plugins/files/bin/commit.f.sh b/plugins/files/bin/commit.f.sh new file mode 100644 index 0000000..a86e5b5 --- /dev/null +++ b/plugins/files/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>. + +#source "$libexecdir/@ID@/stdio" + +# commit.f FILENAME +out="$1" +file="$2" + +#hash=`md5sum $file | sed "s/ .*$//"` +hash=`sha1sum $file | sed "s/ .*$//"` +if [ ! -f "$REPO/@ID@/$hash" ]; then + install -m 644 -o $USER -g $USER -T "$file" "$REPO/@ID@/$hash" +fi +echo "$hash" >> "$out" + diff --git a/plugins/files/bin/commit.sh b/plugins/files/bin/commit.sh new file mode 100644 index 0000000..63eaac1 --- /dev/null +++ b/plugins/files/bin/commit.sh @@ -0,0 +1,36 @@ +#!/bin/sh +name='rvs files 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>. + +source "$libexecdir/@ID@/stdio" + +# commit FILE +file=${1-.} # take arg1 as the file, default to the current directory + +if [ ! -e "$file" ]; then + error "file \`$file' does not exist"; +else + foundMod='false'; + for type in select/*; do + if "$type" "$file"; then foundMod='true'; break; fi + done + if [ "$foundMod" == 'false' ]; then + error "cannot handle file type of \`$file'" + fi +fi + diff --git a/plugins/files/bin/get.d.sh b/plugins/files/bin/get.d.sh new file mode 100644 index 0000000..46e1eeb --- /dev/null +++ b/plugins/files/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>. + +#source "$libexecdir/@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/files/bin/get.f.sh b/plugins/files/bin/get.f.sh new file mode 100644 index 0000000..e6b79d5 --- /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>. + +#source "$libexecdir/@ID@/stdio" + +# get.f ID FILENAME +id="$1" +file="$2" + +install -T "$REPO/@ID@/$id" "$file" + diff --git a/plugins/files/bin/get.sh b/plugins/files/bin/get.sh new file mode 100644 index 0000000..4d0d48f --- /dev/null +++ b/plugins/files/bin/get.sh @@ -0,0 +1,34 @@ +#!/bin/sh +name='rvs files 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>. + +source "$libexecdir/@ID@/stdio" + +# get ID [FILE] +id="$1" +tmp=`mktemp` +"$RVS" get.f "$id" "$tmp" +type="`sed -n 's/^type://p' "$tmp"`" +file="${2-`sed -n 's/^name://p' "$tmp"`}" +hash="`sed -n 's/^hash://p' "$tmp"`" + +out "-$type `pwd`/$file" +"$RVS" get.$type "$hash" "$file" + +rm "$tmp" + |