Skip to content

Commit 01247e0

Browse files
cuonglmgitster
authored andcommitted
sh-setup: enclose setting of ${VAR=default} in double-quotes
We often make sure an environment variable is set to something, either set by the user (in which case we do not molest it) or set it to our default value (otherwise), with : ${VAR=default value} i.e. running the no-op command ":" with ${VAR} as its parameters (or the default value we supply), relying on that ":" is a no-op. This pattern, even though it is no-op from correctness point of view, still can be expensive if the existing value in VAR has shell glob (because they will be expanded against filesystem entities) and IFS whitespaces (because the value need to be split into multiple parameters). Our invocation of ":" command does not care if the parameter given to it is after the value in VAR goes through these processing. Enclosing the whole thing in double-quote, i.e. : "${VAR=default value}" avoids paying the unnecessary cost, so let's do so. Signed-off-by: LE Manh Cuong <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent e568e56 commit 01247e0

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

git-sh-setup.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ git_pager() {
160160
else
161161
GIT_PAGER=cat
162162
fi
163-
: ${LESS=-FRX}
164-
: ${LV=-c}
163+
: "${LESS=-FRX}"
164+
: "${LV=-c}"
165165
export LESS LV
166166
167167
eval "$GIT_PAGER" '"$@"'
@@ -344,7 +344,7 @@ git_dir_init () {
344344
echo >&2 "Unable to determine absolute path of git directory"
345345
exit 1
346346
}
347-
: ${GIT_OBJECT_DIRECTORY="$(git rev-parse --git-path objects)"}
347+
: "${GIT_OBJECT_DIRECTORY="$(git rev-parse --git-path objects)"}"
348348
}
349349
350350
if test -z "$NONGIT_OK"

0 commit comments

Comments
 (0)