summaryrefslogtreecommitdiff
path: root/plugins/files/bin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/files/bin')
-rw-r--r--plugins/files/bin/commit36
-rw-r--r--plugins/files/bin/commit.d.sh35
-rw-r--r--plugins/files/bin/commit.f.sh32
-rw-r--r--plugins/files/bin/commit.sh36
-rw-r--r--plugins/files/bin/get.d.sh45
-rw-r--r--plugins/files/bin/get.f.sh27
-rw-r--r--plugins/files/bin/get.sh34
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"
+