summaryrefslogtreecommitdiff
path: root/01_Internal.zsh
diff options
context:
space:
mode:
authorHugues Hiegel <hugues.hiegel@qosmos.com>2012-03-02 11:49:03 +0100
committerHugues Hiegel <hugues.hiegel@qosmos.com>2012-03-02 11:49:03 +0100
commit2c24aa69ffbecae6c4eb8f541c6f3da345241462 (patch)
tree00dc835b68807263833d354f995ca59ec7001325 /01_Internal.zsh
parente1f4769a05e07a42c6e9c245421407d86cf973c5 (diff)
[Prompts] Hurrah !! Git-rebases are managed better than ever, with squishable git-hash :)
Diffstat (limited to '01_Internal.zsh')
-rw-r--r--01_Internal.zsh6
1 files changed, 4 insertions, 2 deletions
diff --git a/01_Internal.zsh b/01_Internal.zsh
index e8a27c8..f11a2bc 100644
--- a/01_Internal.zsh
+++ b/01_Internal.zsh
@@ -118,6 +118,8 @@ __get_hg_branch ()
fi
}
+__cleanup_git_branch_name() { sed 's,^tags/,,;s,^remotes/,,;s,\^0$,,' }
+
__get_git_branch ()
{
local my_git_branch checkouted_branch="yes"
@@ -145,7 +147,7 @@ __get_git_branch ()
# If not on a working GIT branch, get the named current commit-ish inside parenthesis
[ "$my_git_branch" = "(no branch)" ] &&\
checkouted_branch="" && \
- my_git_branch="$(git name-rev --name-only HEAD 2>&- | sed 's,^tags/,,;s,^remotes/,,;s,\^0$,,')"
+ my_git_branch="$(git name-rev --name-only HEAD 2>&- | __cleanup_git_branch_name)"
# If neither on a named commit-ish, show commit-id
if [ "$my_git_branch" = "undefined" ]
@@ -186,7 +188,7 @@ __get_git_branch ()
fi
# Then the result
- my_git_branch="[rebase $current/$last: "$(git name-rev --name-only "$(cat $REBASE_DIR/onto 2>/dev/null)" 2>/dev/null)".."$my_git_branch"]"
+ my_git_branch="[$current/$last: "$(git name-rev --name-only "$(cat $REBASE_DIR/onto 2>/dev/null)" 2>/dev/null | __cleanup_git_branch_name)".."$(echo $my_git_branch)"]"
[ -r $REBASE_DIR/head-name ] && my_git_branch=$my_git_branch" "$(< $REBASE_DIR/head-name sed 's/^refs\///;s/^heads\///')
else
# No rebase in progress, put '(' ')' if needed