From 88cec538b5d576ae1e7de73efac2af5c3c84d17b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 31 Mar 2010 08:42:46 -0600 Subject: add comments and tag plugins to rvs --- plugins/comments/bin/comment.sh | 27 +++++++++++++++ plugins/comments/info.mk.in | 3 ++ plugins/filecontent/bin/commit.d.sh | 34 ------------------- plugins/filecontent/bin/commit.f.sh | 33 ------------------- plugins/filecontent/bin/commit.sh | 27 --------------- plugins/filecontent/bin/get.d.sh | 41 ----------------------- plugins/filecontent/bin/get.f.sh | 27 --------------- plugins/filecontent/bin/get.sh | 32 ------------------ plugins/filecontent/bin/gettype.sh | 39 ---------------------- plugins/filecontent/bin/init.sh | 21 ------------ plugins/filecontent/etc/3-d.sh | 3 -- plugins/filecontent/etc/5-f.sh | 3 -- plugins/filecontent/info.mk.in | 3 -- plugins/filecontent/lib/stdio.sh | 66 ------------------------------------- plugins/files/bin/commit.d.sh | 34 +++++++++++++++++++ plugins/files/bin/commit.f.sh | 33 +++++++++++++++++++ plugins/files/bin/commit.sh | 27 +++++++++++++++ plugins/files/bin/get.d.sh | 41 +++++++++++++++++++++++ plugins/files/bin/get.f.sh | 27 +++++++++++++++ plugins/files/bin/get.sh | 32 ++++++++++++++++++ plugins/files/bin/gettype.sh | 39 ++++++++++++++++++++++ plugins/files/etc/3-d.sh | 3 ++ plugins/files/etc/5-f.sh | 3 ++ plugins/files/info.mk.in | 3 ++ plugins/files/lib/stdio.sh | 66 +++++++++++++++++++++++++++++++++++++ plugins/tags/bin/get-tag.sh | 26 +++++++++++++++ plugins/tags/bin/tag.sh | 28 ++++++++++++++++ plugins/tags/info.mk.in | 3 ++ 28 files changed, 395 insertions(+), 329 deletions(-) create mode 100644 plugins/comments/bin/comment.sh create mode 100644 plugins/comments/info.mk.in delete mode 100644 plugins/filecontent/bin/commit.d.sh delete mode 100644 plugins/filecontent/bin/commit.f.sh delete mode 100644 plugins/filecontent/bin/commit.sh delete mode 100644 plugins/filecontent/bin/get.d.sh delete mode 100644 plugins/filecontent/bin/get.f.sh delete mode 100644 plugins/filecontent/bin/get.sh delete mode 100644 plugins/filecontent/bin/gettype.sh delete mode 100644 plugins/filecontent/bin/init.sh delete mode 100644 plugins/filecontent/etc/3-d.sh delete mode 100644 plugins/filecontent/etc/5-f.sh delete mode 100644 plugins/filecontent/info.mk.in delete mode 100644 plugins/filecontent/lib/stdio.sh create mode 100644 plugins/files/bin/commit.d.sh create mode 100644 plugins/files/bin/commit.f.sh create mode 100644 plugins/files/bin/commit.sh create mode 100644 plugins/files/bin/get.d.sh create mode 100644 plugins/files/bin/get.f.sh create mode 100644 plugins/files/bin/get.sh create mode 100644 plugins/files/bin/gettype.sh create mode 100644 plugins/files/etc/3-d.sh create mode 100644 plugins/files/etc/5-f.sh create mode 100644 plugins/files/info.mk.in create mode 100644 plugins/files/lib/stdio.sh create mode 100644 plugins/tags/bin/get-tag.sh create mode 100644 plugins/tags/bin/tag.sh create mode 100644 plugins/tags/info.mk.in diff --git a/plugins/comments/bin/comment.sh b/plugins/comments/bin/comment.sh new file mode 100644 index 0000000..c3724db --- /dev/null +++ b/plugins/comments/bin/comment.sh @@ -0,0 +1,27 @@ +#!/bin/sh +name='rvs @ID@ comment' +ver=0.1 +# Copyright (C) 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 . + +# comment ID +usage="usage: $RVS comment ID" +ID="${1?"$usage"}" + +file="$REPO/@ID@/$ID" +mkdir -p "`dirname "$file"`" +editor "$file" >> /dev/stderr + diff --git a/plugins/comments/info.mk.in b/plugins/comments/info.mk.in new file mode 100644 index 0000000..7aa15d1 --- /dev/null +++ b/plugins/comments/info.mk.in @@ -0,0 +1,3 @@ +name = comments +ver = 0.1 +priority = 1 diff --git a/plugins/filecontent/bin/commit.d.sh b/plugins/filecontent/bin/commit.d.sh deleted file mode 100644 index 0da1efb..0000000 --- a/plugins/filecontent/bin/commit.d.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 . - -. "$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 deleted file mode 100644 index 17de155..0000000 --- a/plugins/filecontent/bin/commit.f.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/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 . - -#. "$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/filecontent/bin/commit.sh b/plugins/filecontent/bin/commit.sh deleted file mode 100644 index e8db1eb..0000000 --- a/plugins/filecontent/bin/commit.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 . - -. "$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 deleted file mode 100644 index 1a001d3..0000000 --- a/plugins/filecontent/bin/get.d.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/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 . - -#. "$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/filecontent/bin/get.f.sh b/plugins/filecontent/bin/get.f.sh deleted file mode 100644 index b137911..0000000 --- a/plugins/filecontent/bin/get.f.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 . - -#. "$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/filecontent/bin/get.sh b/plugins/filecontent/bin/get.sh deleted file mode 100644 index d3f046c..0000000 --- a/plugins/filecontent/bin/get.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/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 . - -#. "$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/filecontent/bin/gettype.sh b/plugins/filecontent/bin/gettype.sh deleted file mode 100644 index 84eb9da..0000000 --- a/plugins/filecontent/bin/gettype.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 . - -. "$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/filecontent/bin/init.sh b/plugins/filecontent/bin/init.sh deleted file mode 100644 index 71a2aa8..0000000 --- a/plugins/filecontent/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 . - -mkdir -p "$REPO/@ID@" - diff --git a/plugins/filecontent/etc/3-d.sh b/plugins/filecontent/etc/3-d.sh deleted file mode 100644 index f169cae..0000000 --- a/plugins/filecontent/etc/3-d.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -if [ -d "$1" ]; then echo 'd'; fi - diff --git a/plugins/filecontent/etc/5-f.sh b/plugins/filecontent/etc/5-f.sh deleted file mode 100644 index 0506894..0000000 --- a/plugins/filecontent/etc/5-f.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -if [ -f "$1" ]; then echo 'f'; fi - diff --git a/plugins/filecontent/info.mk.in b/plugins/filecontent/info.mk.in deleted file mode 100644 index eb388c7..0000000 --- a/plugins/filecontent/info.mk.in +++ /dev/null @@ -1,3 +0,0 @@ -name = filecontent -ver = 0.9 -priority = 0 diff --git a/plugins/filecontent/lib/stdio.sh b/plugins/filecontent/lib/stdio.sh deleted file mode 100644 index 09d2ec7..0000000 --- a/plugins/filecontent/lib/stdio.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/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 . - -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 . -__disclaimer__ - fi - exit 0 -} - 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 . + +. "$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 . + +#. "$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 . + +. "$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 . + +#. "$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 . + +#. "$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 . + +#. "$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 . + +. "$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 . + +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 . +__disclaimer__ + fi + exit 0 +} + diff --git a/plugins/tags/bin/get-tag.sh b/plugins/tags/bin/get-tag.sh new file mode 100644 index 0000000..d1df852 --- /dev/null +++ b/plugins/tags/bin/get-tag.sh @@ -0,0 +1,26 @@ +#!/bin/sh +name='rvs @ID@ get-tag' +ver=0.1 +# Copyright (C) 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 . + +usage="usage: $RVS get-tag FILENAME TAG" +name="${1?"$usage"}" + tag="${2?"$usage"}" + +file="$REPO/@ID@/$tag" +"$RVS" get "$name" "`cat "$file"`" + diff --git a/plugins/tags/bin/tag.sh b/plugins/tags/bin/tag.sh new file mode 100644 index 0000000..bc3f546 --- /dev/null +++ b/plugins/tags/bin/tag.sh @@ -0,0 +1,28 @@ +#!/bin/sh +name='rvs @ID@ tag' +ver=0.1 +# Copyright (C) 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 . + +# tag ID TAG +usage="usage: $RVS tag ID TAG" + ID="${1?"$usage"}" +tag="${2?"$usage"}" + +file="$REPO/@ID@/$tag" +mkdir -p "`dirname "$file"`" +echo "$ID" > "$file" + diff --git a/plugins/tags/info.mk.in b/plugins/tags/info.mk.in new file mode 100644 index 0000000..1828b51 --- /dev/null +++ b/plugins/tags/info.mk.in @@ -0,0 +1,3 @@ +name = tags +ver = 0.1 +priority = 2 -- cgit v1.2.3-2-g168b