git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Show the presence of untracked files in the bash prompt.

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jul 24, 2009, 15:03 UTC
Message-ID
<20090724150317.GW11191@spearce.org>
In-Reply-To
<20090722083134.GK24439@bug.science-computing.de>
Daniel Trstenjak <trsten@science-computing.de> wrote:
Show 6 quoted lines
> 
> Added the envvar GIT_PS1_SHOWUNTRACKEDFILES to 'git-completion.bash'.
> When set to a nonempty value, then the char '%' will be shown next
> to the branch name in the bash prompt.
> 
> Signed-off-by: Daniel Trstenjak <daniel.trstenjak@science-computing.de>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Show 74 quoted lines
> ---
>  contrib/completion/git-completion.bash |   15 +++++++++++++--
>  1 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 887731e..745b5fb 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -44,6 +44,10 @@
>  #       GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
>  #       then a '$' will be shown next to the branch name.
>  #
> +#       If you would like to see if there're untracked files, then you can
> +#       set GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're
> +#       untracked files, then a '%' will be shown next to the branch name.
> +#
>  # To submit patches:
>  #
>  #    *) Read Documentation/SubmittingPatches
> @@ -132,6 +136,7 @@ __git_ps1 ()
>  		local w
>  		local i
>  		local s
> +		local u
>  		local c
>  
>  		if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then
> @@ -156,12 +161,18 @@ __git_ps1 ()
>  			if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then
>  			        git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$"
>  			fi
> +
> +			if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then
> +			   if [ -n "$(git ls-files --others --exclude-standard)" ]; then
> +			      u="%"
> +			   fi
> +			fi
>  		fi
>  
>  		if [ -n "${1-}" ]; then
> -			printf "$1" "$c${b##refs/heads/}$w$i$s$r"
> +			printf "$1" "$c${b##refs/heads/}$w$i$s$u$r"
>  		else
> -			printf " (%s)" "$c${b##refs/heads/}$w$i$s$r"
> +			printf " (%s)" "$c${b##refs/heads/}$w$i$s$u$r"
>  		fi
>  	fi
>  }
> -- 
> 1.6.2
> 
> 
> -- 
>                                                                                                                                            
>  Daniel Trstenjak         Tel   : +49 (0)7071-9457-264
>  science + computing ag   FAX   : +49 (0)7071-9457-511
>  Hagellocher Weg 73       mailto: Daniel.Trstenjak@science-computing.de
>  D-72070 T?bingen         WWW   : http://www.science-computing.de/                                                                      
> -- 
> Vorstand/Board of Management:
> Dr. Bernd Finkbeiner, Dr. Roland Niemeier, 
> Dr. Arno Steitz, Dr. Ingrid Zech
> Vorsitzender des Aufsichtsrats/
> Chairman of the Supervisory Board:
> Michel Lepert
> Sitz/Registered Office: Tuebingen
> Registergericht/Registration Court: Stuttgart
> Registernummer/Commercial Register No.: HRB 382196 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Shawn.
Previous: Daniel Trstenjak
Message 4 of 4 in “Show the presence of untracked files in the bash prompt.”
  1. Show the presence of untracked files in the bash prompt.Daniel Trstenjak, Jul 21, 2009
  2. Shawn O. PearceJul 21, 2009
  3. Daniel TrstenjakJul 22, 2009
  4. Shawn O. PearceJul 24, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.