From: Nicolas Vilz Date: Fri, 17 Nov 2006 08:38:02 GMT Subject: Re: git-PS1 bash prompt setting Message-ID: <20061117083801.GB11468@fry.bender.fht> In-Reply-To: <20061116130111.921396df.seanlkml@sympatico.ca> On Thu, Nov 16, 2006 at 01:01:11PM -0500, Sean wrote: > [branch!repo/relative/path]$ > > Where "repo" is the basename of the path to the root of your repo. > An example would look like this: > > [master!linus-2.6/Documentation/vm]$ > > Cheers, > Sean > > > #!/bin/bash > BR=$(git symbolic-ref HEAD 2>/dev/null) || { echo "$@" ; exit ; } > BR=${BR#refs/heads/} > REL=$(git rev-parse --show-prefix) > REL="${REL//%\/}" > LOC="${PWD%/$REL}" > echo "[$BR!${LOC/*\/}${REL:+/$REL}]$ " Just a note: this doesn't work with bash 3.2. I think they altered the way of trimming variables in this version. on systems with bash 3.2 installed, i get [master!linus-2.6/vm/vm]$ with the example above. on systems with bash 3.1, it works properly. unfortunatelly, i am not so good in bash scripting, so it will take some time for me to fix it. Sincerly