Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
2d5412e9
Commit
2d5412e9
authored
Mar 20, 2011
by
James Smith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added new function git_remote_status to check if we are ahead, behind or…
Added new function git_remote_status to check if we are ahead, behind or diverged from the remote branch
parent
52df8544
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
0 deletions
+21
-0
git.zsh
lib/git.zsh
+21
-0
No files found.
lib/git.zsh
View file @
2d5412e9
...
@@ -4,6 +4,7 @@ function git_prompt_info() {
...
@@ -4,6 +4,7 @@ function git_prompt_info() {
echo
"
$ZSH_THEME_GIT_PROMPT_PREFIX
${
ref
#refs/heads/
}$(
parse_git_dirty
)
$ZSH_THEME_GIT_PROMPT_SUFFIX
"
echo
"
$ZSH_THEME_GIT_PROMPT_PREFIX
${
ref
#refs/heads/
}$(
parse_git_dirty
)
$ZSH_THEME_GIT_PROMPT_SUFFIX
"
}
}
# get dirty status of the current working tree
parse_git_dirty
()
{
parse_git_dirty
()
{
if
[[
-n
$(
git status
-s
2> /dev/null
)
]]
;
then
if
[[
-n
$(
git status
-s
2> /dev/null
)
]]
;
then
echo
"
$ZSH_THEME_GIT_PROMPT_DIRTY
"
echo
"
$ZSH_THEME_GIT_PROMPT_DIRTY
"
...
@@ -12,6 +13,26 @@ parse_git_dirty () {
...
@@ -12,6 +13,26 @@ parse_git_dirty () {
fi
fi
}
}
# 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\/
}
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
)
if
[
$ahead
-eq
0
]
&&
[
$behind
-gt
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE
"
elif
[
$ahead
-gt
0
]
&&
[
$behind
-eq
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE
"
elif
[
$ahead
-gt
0
]
&&
[
$behind
-gt
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE
"
fi
fi
}
# get the status of the working tree
# get the status of the working tree
git_prompt_status
()
{
git_prompt_status
()
{
INDEX
=
$(
git status
--porcelain
2> /dev/null
)
INDEX
=
$(
git status
--porcelain
2> /dev/null
)
...
...
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