git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
@ 2009-01-13 16:08 Ted Pavlic
  2009-01-13 16:34 ` Shawn O. Pearce
  0 siblings, 1 reply; 6+ messages in thread
From: Ted Pavlic @ 2009-01-13 16:08 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git, Junio C Hamano


First in a series of patches that make bash completions more robust to
different interactive shell configurations and editors.


Signed-off-by: Ted Pavlic <ted@tedpavlic.com>
---
  contrib/completion/git-completion.bash |   18 +++++++++---------
  1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index 7b074d7..5d1515c 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -52,7 +52,7 @@ esac

  __gitdir ()
  {
-	if [ -z "$1" ]; then
+	if [ -z "${1-}" ]; then
  		if [ -n "$__git_dir" ]; then
  			echo "$__git_dir"
  		elif [ -d .git ]; then
@@ -111,7 +111,7 @@ __git_ps1 ()
  			fi
  		fi

-		if [ -n "$1" ]; then
+		if [ -n "${1-}" ]; then
  			printf "$1" "${b##refs/heads/}$r"
  		else
  			printf " (%s)" "${b##refs/heads/}$r"
@@ -143,8 +143,8 @@ __gitcomp ()
  		;;
  	*)
  		local IFS=$'\n'
-		COMPREPLY=($(compgen -P "$2" \
-			-W "$(__gitcomp_1 "$1" "$4")" \
+		COMPREPLY=($(compgen -P "${2-}" \
+			-W "$(__gitcomp_1 "${1-}" "${4-}")" \
  			-- "$cur"))
  		;;
  	esac
@@ -152,13 +152,13 @@ __gitcomp ()

  __git_heads ()
  {
-	local cmd i is_hash=y dir="$(__gitdir "$1")"
+	local cmd i is_hash=y dir="$(__gitdir "${1-}")"
  	if [ -d "$dir" ]; then
  		git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
  			refs/heads
  		return
  	fi
-	for i in $(git ls-remote "$1" 2>/dev/null); do
+	for i in $(git ls-remote "${1-}" 2>/dev/null); do
  		case "$is_hash,$i" in
  		y,*) is_hash=n ;;
  		n,*^{}) is_hash=y ;;
@@ -170,13 +170,13 @@ __git_heads ()

  __git_tags ()
  {
-	local cmd i is_hash=y dir="$(__gitdir "$1")"
+	local cmd i is_hash=y dir="$(__gitdir "${1-}")"
  	if [ -d "$dir" ]; then
  		git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
  			refs/tags
  		return
  	fi
-	for i in $(git ls-remote "$1" 2>/dev/null); do
+	for i in $(git ls-remote "${1-}" 2>/dev/null); do
  		case "$is_hash,$i" in
  		y,*) is_hash=n ;;
  		n,*^{}) is_hash=y ;;
@@ -188,7 +188,7 @@ __git_tags ()

  __git_refs ()
  {
-	local i is_hash=y dir="$(__gitdir "$1")"
+	local i is_hash=y dir="$(__gitdir "${1-}")"
  	local cur="${COMP_WORDS[COMP_CWORD]}" format refs
  	if [ -d "$dir" ]; then
  		case "$cur" in
-- 
1.6.1.87.g15624

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
  2009-01-13 16:08 [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors Ted Pavlic
@ 2009-01-13 16:34 ` Shawn O. Pearce
  2009-01-13 16:40   ` Ted Pavlic
  0 siblings, 1 reply; 6+ messages in thread
From: Shawn O. Pearce @ 2009-01-13 16:34 UTC (permalink / raw)
  To: Ted Pavlic; +Cc: git, Junio C Hamano

Ted Pavlic <ted@tedpavlic.com> wrote:
>
> First in a series of patches that make bash completions more robust to
> different interactive shell configurations and editors.
>
>
> Signed-off-by: Ted Pavlic <ted@tedpavlic.com>

Your commit message leaves a lot to be desired.  I would instead
have written something like this:

  bash-completion: Support running when set -u is enabled

  Under set -u semenatics it is an error to access undefined
  variables.  Some user environments may enable this in the
  interactive shell.

  In any context where the completion functions access an undefined
  variable, accessing a default empty string (aka "${1-}" instead of
  "$1") is a reasonable way to code the function, as it silences
  the undefined variable error while still supplying an empty string.

Acked-by: Shawn O. Pearce <spearce@spearce.org>

> ---
>  contrib/completion/git-completion.bash |   18 +++++++++---------
>  1 files changed, 9 insertions(+), 9 deletions(-)

-- 
Shawn.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
  2009-01-13 16:34 ` Shawn O. Pearce
@ 2009-01-13 16:40   ` Ted Pavlic
  2009-01-13 16:46     ` Shawn O. Pearce
  2009-01-13 19:43     ` Junio C Hamano
  0 siblings, 2 replies; 6+ messages in thread
From: Ted Pavlic @ 2009-01-13 16:40 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git, Junio C Hamano

> Your commit message leaves a lot to be desired.  I would instead
> have written something like this:

I agree completely. Sorry about that. stg fired off vim to edit the 
commit message, and I just wasn't thinking.

Would you like me to modify the commit message and resubmit?

--Ted

-- 
Ted Pavlic <ted@tedpavlic.com>

   Please visit my ALS association page:
         http://web.alsa.org/goto/tedpavlic
   My family appreciates your support in the fight to defeat ALS.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
  2009-01-13 16:40   ` Ted Pavlic
@ 2009-01-13 16:46     ` Shawn O. Pearce
  2009-01-13 19:43     ` Junio C Hamano
  1 sibling, 0 replies; 6+ messages in thread
From: Shawn O. Pearce @ 2009-01-13 16:46 UTC (permalink / raw)
  To: Ted Pavlic; +Cc: git, Junio C Hamano

Ted Pavlic <ted@tedpavlic.com> wrote:
>> Your commit message leaves a lot to be desired.  I would instead
>> have written something like this:
>
> I agree completely. Sorry about that. stg fired off vim to edit the  
> commit message, and I just wasn't thinking.
>
> Would you like me to modify the commit message and resubmit?

You probably should, to be nice to Junio.  Its far easier for the
maintainer to save off well formatted messages to an mbox and run
"git am" than it is to stitch it together from different emails
and/or hand edit messages to make them work.

-- 
Shawn.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
  2009-01-13 16:40   ` Ted Pavlic
  2009-01-13 16:46     ` Shawn O. Pearce
@ 2009-01-13 19:43     ` Junio C Hamano
  2009-01-14 20:08       ` Ted Pavlic
  1 sibling, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2009-01-13 19:43 UTC (permalink / raw)
  To: Ted Pavlic; +Cc: Shawn O. Pearce, git

Ted Pavlic <ted@tedpavlic.com> writes:

>> Your commit message leaves a lot to be desired.  I would instead
>> have written something like this:
>
> I agree completely. Sorry about that. stg fired off vim to edit the
> commit message, and I just wasn't thinking.
>
> Would you like me to modify the commit message and resubmit?

Luckily or unluckily, you need to do that anyway, as your patches are
whitespace damaged.

Please don't send "format=flowed".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors.
  2009-01-13 19:43     ` Junio C Hamano
@ 2009-01-14 20:08       ` Ted Pavlic
  0 siblings, 0 replies; 6+ messages in thread
From: Ted Pavlic @ 2009-01-14 20:08 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Shawn O. Pearce, git

>> Would you like me to modify the commit message and resubmit?
>
> Luckily or unluckily, you need to do that anyway, as your patches are
> whitespace damaged.
>
> Please don't send "format=flowed".

Ok. Resubmitted using 'git send-email'. I think the submissions look 
much better now.<?>

--Ted


-- 
Ted Pavlic <ted@tedpavlic.com>

   Please visit my ALS association page:
         http://web.alsa.org/goto/tedpavlic
   My family appreciates your support in the fight to defeat ALS.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-14 20:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-13 16:08 [PATCH 1/3] Purest update to bash completions to prevent unbounded variable errors Ted Pavlic
2009-01-13 16:34 ` Shawn O. Pearce
2009-01-13 16:40   ` Ted Pavlic
2009-01-13 16:46     ` Shawn O. Pearce
2009-01-13 19:43     ` Junio C Hamano
2009-01-14 20:08       ` Ted Pavlic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).