N Nicolas Vilz #
On Fri, Nov 17, 2006 at 04:20:51AM -0500, Sean wrote:
On Fri, 17 Nov 2006 09:38:02 +0100 Nicolas Vilz [off-list ref] wrote:quoted
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.Sorry bout that, I knew it was a bit fragile. Was rather comical reading Junio's recent message about all the things not to do if you want portable shell code and noticing my 6 line script did 90% of them ;o) Strange though, I downloaded Bash 3.2 and gave it a try and didn't see the problem here.. Wanna try this small change, to see if it helps? : #!/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}]$ "
That one did the job... funny, removing these two // did the job, for both versions, GNU bash, version 3.1.17(1)-release (powerpc-unknown-linux-gnu) and GNU bash, version 3.2.5(1)-release (x86_64-pc-linux-gnu). Thx for fixing that script. It really helps me. Sincerly Nicolas