summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-08-17 16:20:09 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-08-17 16:20:09 -0400
commit69cdbd3ce6bda7404e37e48059f30158d92a1319 (patch)
tree5fe3dcbc6bbcc9092e2dd88c486e30f9d6e2d313
parente50372f632de988bbe48173081ba0367d7790193 (diff)
fix external script for filenames with spaces from protocol
Fix the external special remotes git-annex-remote-ipfs, git-annex-remote-torrent and the example.sh template to correctly support filenames with spaces. This commit was sponsored by John Peloquin on Patreon.
-rw-r--r--CHANGELOG3
-rwxr-xr-xdoc/special_remotes/external/example.sh6
-rwxr-xr-xdoc/special_remotes/external/git-annex-remote-ipfs6
-rwxr-xr-xdoc/special_remotes/external/git-annex-remote-torrent6
4 files changed, 15 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index bb3a73a1c..603b7dc65 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -31,6 +31,9 @@ git-annex (6.20170521) UNRELEASED; urgency=medium
the filename parameter to the TRANSFER command could not contain
spaces. It can in fact contain spaces. Special remotes implementors
that relied on that may need to fix bugs in their special remotes.
+ * Fix the external special remotes git-annex-remote-ipfs,
+ git-annex-remote-torrent and the example.sh template to correctly
+ support filenames with spaces.
-- Joey Hess <id@joeyh.name> Sat, 17 Jun 2017 13:02:24 -0400
diff --git a/doc/special_remotes/external/example.sh b/doc/special_remotes/external/example.sh
index 8fed9f4aa..ed37ad9ec 100755
--- a/doc/special_remotes/external/example.sh
+++ b/doc/special_remotes/external/example.sh
@@ -122,9 +122,11 @@ while read line; do
fi
;;
TRANSFER)
+ op="$2"
key="$3"
- file="$4"
- case "$2" in
+ shift 3
+ file="$@"
+ case "$op" in
STORE)
# Store the file to a location
# based on the key.
diff --git a/doc/special_remotes/external/git-annex-remote-ipfs b/doc/special_remotes/external/git-annex-remote-ipfs
index c8d97ef5c..f255f9bc5 100755
--- a/doc/special_remotes/external/git-annex-remote-ipfs
+++ b/doc/special_remotes/external/git-annex-remote-ipfs
@@ -81,9 +81,11 @@ while read line; do
echo CHECKURL-CONTENTS UNKNOWN "$(urltoaddress "$url")"
;;
TRANSFER)
+ op="$2"
key="$3"
- file="$4"
- case "$2" in
+ shift 3
+ file="$@"
+ case "$op" in
STORE)
addr=$(ipfs add -q "$file" </dev/null) || true
if [ -z "$addr" ]; then
diff --git a/doc/special_remotes/external/git-annex-remote-torrent b/doc/special_remotes/external/git-annex-remote-torrent
index 4df1f8154..d7897d772 100755
--- a/doc/special_remotes/external/git-annex-remote-torrent
+++ b/doc/special_remotes/external/git-annex-remote-torrent
@@ -149,9 +149,11 @@ while read line; do
rm -f "$tmp"
;;
TRANSFER)
+ op="$2"
key="$3"
- file="$4"
- case "$2" in
+ shift 3
+ file="$@"
+ case "$op" in
STORE)
echo TRANSFER-FAILURE STORE "$key" "upload not supported"
;;