From 00a94f5b3dc1cdc7fecf958d33533ebb6cd181e2 Mon Sep 17 00:00:00 2001 From: Leonid Volnitsky Date: Sun, 8 Jul 2012 18:55:37 +0300 Subject: fixed: filenames with special chars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gsp ?? TTTTTT BBBBBBBBB ?? a b/ ?? "a\"b/" ?? a$b/ ?? a&b/ ?? a'b/ ?? ab/ ?? "a\303\251/" ?? brackets/ ?? ext/ ?? t ?? tttt aaaa init TTTTTT BBBBBBBBB a b/ a"b/ a/ a&b/ a'b/ ab/ aé/ brackets/ ext/ t tttt aaaa /…test/fixtures/_filedir> gsp A "TTTTTT BBBBBBBBB" A "a b/i" A "a\"b/d" A a$b/h A a&b/f A a'b/c A ab/e A "a\303\251/g" A brackets/[x] A brackets/x A ext/ee.e1 A ext/ff.e2 A ext/foo/.gitignore A ext/gg.e1 A ext/hh.e2 A ext/ii.E1 A t A "tttt aaaa" init TTTTTT BBBBBBBBB a b/ a"b/ amaster/ a&b/ a'b/ ab/ aé/ brackets/ ext/ t tttt aaaa /…test/fixtures/_filedir> --- git-prompt.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/git-prompt.sh b/git-prompt.sh index 7acda17..f99a1d0 100755 --- a/git-prompt.sh +++ b/git-prompt.sh @@ -455,12 +455,14 @@ parse_git_status() { eval " $( git status --porcelain 2>/dev/null | - sed -n ' - s/^[MARC]. \(.*\)/ added=added; [[ \" ${added_files[*]} \" =~ \1 ]] || added_files[${#added_files[@]}]=\1/p - s/^.[MAU] \(.*\)/ modified=modified; [[ \" ${modified_files[*]} \" =~ \1 ]] || modified_files[${#modified_files[@]}]=\1/p - s/^?? \([a-zA-Z_.=:]*\)$/ untracked=untracked; [[ \" ${untracked_files[*]} \" =~ \" \1 \" ]] || untracked_files[${#untracked_files[@]}]=\"\1\"/p - s/^?? \(.*\)$/ untracked=untracked; [[ \" ${untracked_files[*]} \" =~ \" \1 \" ]] || untracked_files[${#untracked_files[@]}]=\"\1\"/p - ' + sed -n ' + s,^[MARC]. \([^\"][^/]*/\?\).*, added=added; [[ \" ${added_files[@]} \" =~ \" \1 \" ]] || added_files[${#added_files[@]}]=\"\1\",p + s,^[MARC]. \"\([^/]\+/\?\).*\"$, added=added; [[ \" ${added_files[@]} \" =~ \" \1 \" ]] || added_files[${#added_files[@]}]=\"\1\",p + s,^.[MAU] \([^\"][^/]*/\?\).*, modified=modified; [[ \" ${modified_files[@]} \" =~ \" \1 \" ]] || modified_files[${#modified_files[@]}]=\"\1\",p + s,^.[MAU] \"\([^/]\+/\?\).*\"$, modified=modified; [[ \" ${modified_files[@]} \" =~ \" \1 \" ]] || modified_files[${#modified_files[@]}]=\"\1\",p + s,^?? \([^\"][^/]*/\?\).*, untracked=untracked; [[ \" ${untracked_files[@]} \" =~ \" \1 \" ]] || untracked_files[${#untracked_files[@]}]=\"\1\",p + s,^?? \"\([^/]\+/\?\).*\"$, untracked=untracked; [[ \" ${untracked_files[@]} \" =~ \" \1 \" ]] || untracked_files[${#untracked_files[@]}]=\"\1\",p + ' # |tee /dev/tty )" if ! grep -q "^ref:" "$git_dir/HEAD" 2>/dev/null; then -- cgit v1.2.3