Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
9703eba6
Commit
9703eba6
authored
Jun 12, 2013
by
Theodore Kokkoris
Browse files
Fixed slow behavior when using GitHub wrappers
parent
5d6a06bd
Changes
1
Show whitespace changes
Inline
Side-by-side
lib/git.zsh
View file @
9703eba6
# get the name of the branch we are on
function
git_prompt_info
()
{
ref
=
$(
git symbolic-ref HEAD 2> /dev/null
)
||
\
ref
=
$(
git rev-parse
--short
HEAD 2> /dev/null
)
||
return
ref
=
$(
command
git symbolic-ref HEAD 2> /dev/null
)
||
\
ref
=
$(
command
git rev-parse
--short
HEAD 2> /dev/null
)
||
return
echo
"
$ZSH_THEME_GIT_PROMPT_PREFIX
${
ref
#refs/heads/
}
$(
parse_git_dirty
)
$ZSH_THEME_GIT_PROMPT_SUFFIX
"
}
...
...
@@ -11,14 +11,14 @@ parse_git_dirty() {
local
SUBMODULE_SYNTAX
=
''
local
GIT_STATUS
=
''
local
CLEAN_MESSAGE
=
'nothing to commit (working directory clean)'
if
[[
"
$(
git config
--get
oh-my-zsh.hide-status
)
"
!=
"1"
]]
;
then
if
[[
"
$(
command
git config
--get
oh-my-zsh.hide-status
)
"
!=
"1"
]]
;
then
if
[[
$POST_1_7_2_GIT
-gt
0
]]
;
then
SUBMODULE_SYNTAX
=
"--ignore-submodules=dirty"
fi
if
[[
"
$DISABLE_UNTRACKED_FILES_DIRTY
"
==
"true"
]]
;
then
GIT_STATUS
=
$(
git status
-s
${
SUBMODULE_SYNTAX
}
-uno
2> /dev/null |
tail
-n1
)
GIT_STATUS
=
$(
command
git status
-s
${
SUBMODULE_SYNTAX
}
-uno
2> /dev/null |
tail
-n1
)
else
GIT_STATUS
=
$(
git status
-s
${
SUBMODULE_SYNTAX
}
2> /dev/null |
tail
-n1
)
GIT_STATUS
=
$(
command
git status
-s
${
SUBMODULE_SYNTAX
}
2> /dev/null |
tail
-n1
)
fi
if
[[
-n
$GIT_STATUS
]]
;
then
echo
"
$ZSH_THEME_GIT_PROMPT_DIRTY
"
...
...
@@ -32,10 +32,10 @@ parse_git_dirty() {
# get the difference between the local and remote branches
git_remote_status
()
{
remote
=
${
$(
git rev-parse
--verify
${
hook_com
[branch]
}
@
{
upstream
}
--symbolic-full-name
2>/dev/null
)
/refs\/remotes\/
}
remote
=
${
$(
command
git rev-parse
--verify
${
hook_com
[branch]
}
@
{
upstream
}
--symbolic-full-name
2>/dev/null
)
/refs\/remotes\/
}
if
[[
-n
${
remote
}
]]
;
then
ahead
=
$(
git rev-list
${
hook_com
[branch]
}
@
{
upstream
}
..HEAD 2>/dev/null |
wc
-l
)
behind
=
$(
git rev-list HEAD..
${
hook_com
[branch]
}
@
{
upstream
}
2>/dev/null |
wc
-l
)
ahead
=
$(
command
git rev-list
${
hook_com
[branch]
}
@
{
upstream
}
..HEAD 2>/dev/null |
wc
-l
)
behind
=
$(
command
git rev-list HEAD..
${
hook_com
[branch]
}
@
{
upstream
}
2>/dev/null |
wc
-l
)
if
[
$ahead
-eq
0
]
&&
[
$behind
-gt
0
]
then
...
...
@@ -52,24 +52,24 @@ git_remote_status() {
# Checks if there are commits ahead from remote
function
git_prompt_ahead
()
{
if
$(
echo
"
$(
git log origin/
$(
current_branch
)
..HEAD 2> /dev/null
)
"
|
grep
'^commit'
&> /dev/null
)
;
then
if
$(
echo
"
$(
command
git log origin/
$(
current_branch
)
..HEAD 2> /dev/null
)
"
|
grep
'^commit'
&> /dev/null
)
;
then
echo
"
$ZSH_THEME_GIT_PROMPT_AHEAD
"
fi
}
# Formats prompt string for current git commit short SHA
function
git_prompt_short_sha
()
{
SHA
=
$(
git rev-parse
--short
HEAD 2> /dev/null
)
&&
echo
"
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER
"
SHA
=
$(
command
git rev-parse
--short
HEAD 2> /dev/null
)
&&
echo
"
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER
"
}
# Formats prompt string for current git commit long SHA
function
git_prompt_long_sha
()
{
SHA
=
$(
git rev-parse HEAD 2> /dev/null
)
&&
echo
"
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER
"
SHA
=
$(
command
git rev-parse HEAD 2> /dev/null
)
&&
echo
"
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER
"
}
# Get the status of the working tree
git_prompt_status
()
{
INDEX
=
$(
git status
--porcelain
-b
2> /dev/null
)
INDEX
=
$(
command
git status
--porcelain
-b
2> /dev/null
)
STATUS
=
""
if
$(
echo
"
$INDEX
"
|
grep
-E
'^\?\? '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS
"
...
...
@@ -96,7 +96,7 @@ git_prompt_status() {
elif
$(
echo
"
$INDEX
"
|
grep
'^AD '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
fi
if
$(
git rev-parse
--verify
refs/stash
>
/dev/null 2>&1
)
;
then
if
$(
command
git rev-parse
--verify
refs/stash
>
/dev/null 2>&1
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_STASHED$STATUS
"
fi
if
$(
echo
"
$INDEX
"
|
grep
'^UU '
&> /dev/null
)
;
then
...
...
@@ -121,7 +121,7 @@ function git_compare_version() {
local
INPUT_GIT_VERSION
=
$1
;
local
INSTALLED_GIT_VERSION
INPUT_GIT_VERSION
=(
${
(s/./)INPUT_GIT_VERSION
}
)
;
INSTALLED_GIT_VERSION
=(
$(
git
--version
2>/dev/null
)
)
;
INSTALLED_GIT_VERSION
=(
$(
command
git
--version
2>/dev/null
)
)
;
INSTALLED_GIT_VERSION
=(
${
(s/./)INSTALLED_GIT_VERSION[3]
}
)
;
for
i
in
{
1..3
}
;
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment