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
Ohmyzsh
Commits
0f2b24c1
Commit
0f2b24c1
authored
Jun 21, 2013
by
Robby Russell
Browse files
Merge pull request #1887 from tgkokk/git-slow-fix
Fixed slow behavior when using GitHub wrappers
parents
32b4755b
9703eba6
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/git.zsh
View file @
0f2b24c1
# 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