Re: [PATCH 08/19] completion: use $__git_dir instead of $(__gitdir)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 9, 2012, 19:43 UTC
- Message-ID
- <7vaa1hrvh6.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1336524290-30023-9-git-send-email-szeder@ira.uka.de>
SZEDER Gábor <szeder@ira.uka.de> writes:
> + __gitdir >/dev/null
If this becomes the only call site of __gitdir helper function (and that was the way I read the log message), it would be sane to rename it to a more descriptive __setup_dash_dash_git_dir function and lose the need to redirect its output, no?
Show 10 quoted lines
> @@ -962,7 +967,8 @@ __git_aliases ()
> # __git_aliased_command requires 1 argument
> __git_aliased_command ()
> {
> - local word cmdline=$(git --git-dir="$(__gitdir)" \
> + __gitdir >/dev/null
> + local word cmdline=$(git --git-dir="$__git_dir" \
> config --get "alias.$1")
> for word in $cmdline; do
> case "$word" inNow this worries me. The way I read 07/19 was that the local __git_dir="" declarations in __git_ps1 and __git were what protected this whole machinery to protect us against surprises from user doing "cd" between interactive commands, but you have the same __gitdir call to set up the global $__git_dir variable there, without the initialization to "".
Having to have a call to __gitdir seems to indicate to me that you cannot assume that the other initialization sites may not have been called before we get to this point. Then why is 'local __git_dir=""' unneeded here?