Re: [PATCH] Abort early if not being sourced under bash.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ville Skyttä <ville.skytta@xxxxxx> writes:

> Subject: [PATCH] Abort early if not being sourced under bash.
>
> This way, the file can be safely sourced from profile files shared with
> non-bash shells, eg. dropped into /etc/profile.d like directories.
>
> Signed-off-by: Ville Skyttä <ville.skytta@xxxxxx>
> ---
>  contrib/completion/git-completion.bash |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 4ea727b..3cde9f4 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -45,6 +45,8 @@
>  #       git@xxxxxxxxxxxxxxx
>  #
>  
> +[ -z "$BASH_VERSION" ] && return
> +
>  __gitdir ()
>  {
>  	if [ -z "$1" ]; then

I do not particularly sympathize with the /etc/profile.d/
argument.  Ditros can and should put a small script in there
that checks what /bin/sh it really is running and source the
real thing from elsewhere, perhaps /usr/share/git-core/,
appropriately.

However, even if you did so, there is another issue.  One of my
hosts have a bash that does not know the "complete" command, and
logging into the host I get twenty-or-so "bash: complete:
command not found".

So

	if bash "complete" would not work for this shell
        then
        	__git_ps1 () { : dummy; }
		return
	fi

at the beginning may be needed even if you know we are running
bash.

Then people can safely say:

	PS1=': \h \W$(__git_ps1 "/%s"); '

(or whatever git-completion.bash suggests these days) in their
start-up script.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux