summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-09-19 13:31:18 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-09-19 13:33:00 -0400
commitfec663ac94161f9193ca1c65d9afe39eed0c387a (patch)
tree3d37f6e83d19d83ae348fb8c26d6d8fa78333821
parent4cbdd954447f04ac0b0fb79bd65ef83fa420c859 (diff)
guard against runshell loop
-rw-r--r--doc/bugs/git-annex:_Argument_list_too_long.mdwn5
-rwxr-xr-xstandalone/linux/runshell3
-rwxr-xr-xstandalone/osx/git-annex.app/Contents/MacOS/runshell3
3 files changed, 11 insertions, 0 deletions
diff --git a/doc/bugs/git-annex:_Argument_list_too_long.mdwn b/doc/bugs/git-annex:_Argument_list_too_long.mdwn
index f54d481b5..f12d5da65 100644
--- a/doc/bugs/git-annex:_Argument_list_too_long.mdwn
+++ b/doc/bugs/git-annex:_Argument_list_too_long.mdwn
@@ -33,3 +33,8 @@ Log from the web GUI:
# End of transcript or log.
"""]]
+
+> [[done]]; I have added a guard to runshell to detect when it has
+> started to loop. Although I don't understand how a system could be
+> misconfigured to let that happen, without going far out of your way to
+> mess it up, it's a failure mode that's worth guarding against. --[[Joey]]
diff --git a/standalone/linux/runshell b/standalone/linux/runshell
index a36e49083..6e2e21906 100755
--- a/standalone/linux/runshell
+++ b/standalone/linux/runshell
@@ -19,6 +19,9 @@ if [ ! -e "$base/bin/git" ]; then
echo "** base directory $base does not contain bin/git" >&2
exit 1
fi
+if [ -n "$GIT_ANNEX_STANDLONE_ENV" ]; then
+ echo "** runshell loop detected!"> &2
+fi
# Get absolute path to base, to avoid breakage when things change directories.
orig="$(pwd)"
diff --git a/standalone/osx/git-annex.app/Contents/MacOS/runshell b/standalone/osx/git-annex.app/Contents/MacOS/runshell
index 9f1457e25..5094ad0b2 100755
--- a/standalone/osx/git-annex.app/Contents/MacOS/runshell
+++ b/standalone/osx/git-annex.app/Contents/MacOS/runshell
@@ -21,6 +21,9 @@ if [ ! -e "$bundle/git" ]; then
echo "** bundle directory $bundle does not contain git" >&2
exit 1
fi
+if [ -n "$GIT_ANNEX_STANDLONE_ENV" ]; then
+ echo "** runshell loop detected!"> &2
+fi
# Get absolute path to base, to avoid breakage when things change directories.
orig="$(pwd)"