summaryrefslogtreecommitdiff
path: root/modules/blobs/get.f.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/blobs/get.f.sh')
-rw-r--r--modules/blobs/get.f.sh26
1 files changed, 16 insertions, 10 deletions
diff --git a/modules/blobs/get.f.sh b/modules/blobs/get.f.sh
index 08aca97..fafb076 100644
--- a/modules/blobs/get.f.sh
+++ b/modules/blobs/get.f.sh
@@ -1,7 +1,8 @@
#!/usr/bin/env bash
-# rvs blobs/get.f - get a plain file from the repository
-# Copyright (C) 2009-2010, 2015-2016 Luke Shumaker
-#
+name=blobs/get.f
+desc='Get a plain file from the repository'
+copyright=('2009-2010, 2015-2016 Luke Shumaker')
+license='AGPLv3+'
# This file is part of rvs.
#
# This program is free software: you can redistribute it and/or modify
@@ -17,13 +18,18 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-. "${0%/*}/_stdio.sh"
+usage="ID FILENAME"
+doc="Unlike commit.f, FILENAME may be a character device such as
+/dev/stdout or /dev/fd/n."
+. "${0%/*}/_shlib.sh"
-usage="FILENAME ID"
-[[ $# -eq 2 ]] || errusage
-name=$1
-id=$2
+main() {
+ [[ $# -eq 2 ]] || errusage
+ id=$1
+ name=$2
-mkdir -p -- "${name%/*}"
-< "$REPO/blobs/${id#*:}" gunzip > "$name"
+ mkdir -p -- "$(dirname -- "$name")"
+ < "$REPO/blobs/${id#*:}" gunzip > "$name"
+}
+main "$@"