Fix minimal/do and tests when built in a path containing spaces.
Basically all just missing quotes around shell strings that use $PWD. Most paths inside a project, since redo uses relative paths, only need to worry when project-internal directories or filenames have spaces in them. Reported-by: Jeff Stearns <jeff.stearns@gmail.com>
This commit is contained in:
parent
539a26d264
commit
474e12eed8
6 changed files with 19 additions and 17 deletions
|
|
@ -4,7 +4,7 @@
|
|||
# For the full version, visit http://github.com/apenwarr/redo
|
||||
#
|
||||
# The author disclaims copyright to this source file and hereby places it in
|
||||
# the public domain. (2010 12 14; updated 2018 12 04)
|
||||
# the public domain. (2010 12 14; updated 2018 12 11)
|
||||
#
|
||||
USAGE="
|
||||
usage: do [-d] [-x] [-v] [-c] <targets...>
|
||||
|
|
@ -44,7 +44,8 @@ dirname()
|
|||
)
|
||||
|
||||
_dirsplit "$0"
|
||||
export REDO=$(cd "${_dirsplit_dir:-.}" && echo "$PWD/$_dirsplit_base")
|
||||
REDO=$(cd "${_dirsplit_dir:-.}" && echo "$PWD/$_dirsplit_base")
|
||||
export REDO
|
||||
_cmd=$_dirsplit_base
|
||||
|
||||
DO_TOP=
|
||||
|
|
@ -76,7 +77,7 @@ if [ -z "$DO_BUILT" -a "$_cmd" != "redo-whichdo" ]; then
|
|||
if [ "$#" -eq 0 ] && [ "$_cmd" = "do" -o "$_cmd" = "redo" ]; then
|
||||
set all # only toplevel redo has a default target
|
||||
fi
|
||||
export DO_BUILT=$PWD/.do_built
|
||||
export DO_BUILT="$PWD/.do_built"
|
||||
if [ -z "$_do_opt_clean" -a -e "$DO_BUILT" ]; then
|
||||
echo "do: Incremental mode. Use -c for clean rebuild." >&2
|
||||
fi
|
||||
|
|
@ -89,7 +90,7 @@ if [ -z "$DO_BUILT" -a "$_cmd" != "redo-whichdo" ]; then
|
|||
xargs -0 rm -f 2>/dev/null
|
||||
mv "$DO_BUILT.new" "$DO_BUILT"
|
||||
DO_PATH=$DO_BUILT.dir
|
||||
export PATH=$DO_PATH:$PATH
|
||||
export PATH="$DO_PATH:$PATH"
|
||||
rm -rf "$DO_PATH"
|
||||
mkdir "$DO_PATH"
|
||||
for d in redo redo-ifchange redo-whichdo; do
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@ check_s "" "$_dirsplit_base"
|
|||
|
||||
|
||||
SECTION _relpath
|
||||
check "a/b/c" _relpath $PWD/a/b/c
|
||||
check "../a/b/c" _relpath $PWD/../a/b/c
|
||||
check "a/b/c" _relpath "$PWD/a/b/c"
|
||||
check "../a/b/c" _relpath "$PWD/../a/b/c"
|
||||
check "" _relpath "$PWD"
|
||||
(cd / && check "a/b/c" _relpath a/b/c)
|
||||
(cd / && check "a/b/c" _relpath /a/b/c)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue