Commit Graph

75 Commits

Author SHA1 Message Date
Michele Bologna 87f8251388 Re-added $ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE
Re-added $ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE variable which was removed in 9f55213
2016-01-13 15:36:59 +01:00
Marc Cornellà 0842384987 Put `local var` declaration in its own line in lib/git.zsh
In places, the local statement will override the exit code and the written
command won't have the effect intended when it was written.

For example, when it's not inside a git repo the exit code won't be true,
but the local statement will make it true regardless. See #4708.
2015-12-17 18:37:49 +01:00
Andrew Janke 9f552130bd Move current_branch() from git plugin to core lib/git.zsh
Fixes #4085: core -> plugin dependency issue.
Rename it to git_current_branch for clarity that it's git-specific.
Update all plugins that were calling it to use new name.
Fix variable leaks by making more variables in lib/git.zsh local.
Have lib/git.zsh use [[ ]] instead of [ ] everywhere.
2015-12-14 20:28:37 -05:00
Michele Bologna 12e99b5334 fix indentation 2015-09-23 11:14:14 +02:00
Michele Bologna 5323954c98 Uniform git prompt equal remote
Uniform git prompt equal remote to all others prompts, setting the correct symbol
(if applicable) to $git_remote_status, instead of echoing it.

It also solves the problem pointed out in #3911
2015-09-23 10:52:24 +02:00
Michele Bologna 01e355fb1e In addition to the already existing variables ZSH_THEME_GIT_PROMPT for behind,
ahead and diverged remote, I added ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE.
2015-06-15 10:15:22 +02:00
Adam Lindberg 2d40cc0bb3 Add git_prompt_behind and git_prompt_exists
This adds two new theme functions for git:
* `git_prompt_behind` works in a identical fashion to `git_prompt_ahead`
  and will output a format variable (`ZSH_THEME_GIT_PROMPT_BEHIND`) if
  the branch is behind.
* `git_prompt_remote` will output one format variable if the branch
  exists on remote (`ZSH_THEME_GIT_PROMPT_REMOTE_EXISTS`), and another
  if the branch is unpublished (`ZSH_THEME_GIT_PROMPT_REMOTE_MISSING`).

The old `git_prompt_ahead` has been changed. Using git log is subject
to formatting in .gitconfig, which can be overridden and will break
this function. Relying on rev-list is much more stable.
2015-06-10 14:36:55 +02:00
leif.hanack 70c4a27fd6 Added a possibility to display the remote branch and the number of commits you are ahead or behind 2015-06-10 14:36:54 +02:00
Robby Russell eced76e0fd Merge pull request #3326 from DanielFGray/master
ignore any grep aliases that might be defined
2014-12-14 16:32:11 -08:00
Marc Cornellà a301f567e3 Switch back to oh-my-zsh.hide-dirty setting again
Commit 81004dfaba reverted the change
in 9b811fb625 when editing the merge
conflict from #2928.

This commit fixes that so that we don't make the same mistake again.

First seen in http://git.io/Cdaj5Q
2014-11-19 18:40:18 +01:00
DanielFGray 00ec11d3c0 ignore any grep aliases that might be defined 2014-11-16 02:47:35 -06:00
Robby Russell 81004dfaba 2928 merge conflict 2014-11-06 09:24:00 -08:00
Robby Russell 160abc9a8d Merge pull request #2323 from michaelorr/slow-git-fix
Renaming config for parse_git_dirty() to avoid collision
2014-11-06 09:15:00 -08:00
Robby Russell 01da53e10f Merge pull request #2828 from r3dDoX/master
removed a hardcoded 'origin' in git.zsh and added new function for number of commits ahead of remote
2014-07-15 07:38:55 -07:00
Simon Buchan 2927ce3714 Fix POST_1_7_2_GIT check for parse_git_dirty submodules. 2014-07-03 14:45:49 +12:00
Simon Buchan 676fb4e420 Fix parse_git_dirty() when status.branch is set. 2014-07-03 14:38:19 +12:00
Albert Krewinkel c5d9fc9968 git_prompt_info: ignore git-config errors
Merged from #2906

The function `git_prompt_info` calls `git config` for its stdout output,
but doesn't handle the stderr output.  This can lead to problems,
e.g. if the git config file is unreadable for some reason (permissions
etc).

This fixes the issue by simply ignoring the stderr output.
2014-06-28 10:12:20 +02:00
Mikhail S. Pobolovets 49161e7847 Add missing `command` wrapper for git
Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
2014-06-28 10:12:19 +02:00
ncanceill 7fbbf28e6e return 0 when not a git repo
before, 128 was returned, which could display an error,
but out of a git repo this should exit silently
fixes #2226
2014-06-10 09:52:57 +02:00
r3dDoX 514693125b added prefix/suffix variable for customizability 2014-05-26 10:47:51 +02:00
r3dDoX 59c8fcc712 added new function to get number of commits ahead of remote 2014-05-25 14:13:21 +02:00
r3dDoX 3c485db8c7 replaced hardcoded origin/{branch-name} with @{upstream} which gets the upstream branch since git 1.7.0 2014-05-25 14:13:07 +02:00
Michael Orr 9b811fb625 accidentally blew away a git config setting used for another purpose, renaming in order to distinguish 2013-12-06 17:31:35 -05:00
Michael Orr fbd479b68e adding a check for git config option to disable git_prompt_info() on a per repo basis 2013-11-20 12:30:55 -05:00
Theodore Kokkoris 9703eba66e Fixed slow behavior when using GitHub wrappers 2013-06-12 20:04:08 +03:00
Christopher Roach 4ff861ee11 Adding a fix for the DISABLE_UNTRACKED_FILES_DIRTY option. 2013-05-19 12:55:10 -07:00
Robby Russell 7cdb6d667c Resolving conflict when merging in 1570 2013-04-23 20:21:18 -07:00
Robby Russell 30b0eb3ffa Merge pull request #1740 from felipec/fc/git
git: fix parse_git_dirty()
2013-04-23 19:42:58 -07:00
Jeremy Attali e41714d72c Added option to allow untracked files as non dirty
In this commit, the option only works for git but it should not be to hard for
someone who knows svn to so the same.
This commit is largely inspired by @yoavweiss, I only added an option to use
it.
2013-04-22 10:59:08 +02:00
Felipe Contreras d615f64374 git: fix parse_git_dirty()
If oh-my-zsh.hide-status is configured, the 'clean' code won't be
generated, and some themes might end up distorted. Let's generate the
'clean' code even when we don't want the show the dirty status.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2013-04-21 02:56:39 -05:00
Robby Russell cd55560c74 Merge pull request #1654 from bertag/parse-git-dirty-support-for-1.6
parse_git_dirty() support for Git 1.6
2013-04-07 19:06:31 -07:00
Christian Höltje 8890450684 This fixes checking for git untracked items
The grep expression was incorrect for normal grep. Adding
the `-E` option fixed the escaping of the question marks.
2013-04-03 20:41:05 -04:00
Robby Russell 5cde893ce0 Merge pull request #1661 from hellerbarde/master
Fix some problems with git enabled prompts where they *always* claim to have untracked files
2013-03-26 22:11:04 -07:00
Philip Stark 56e835426b fix git_prompt_status() to not say the repository has untracked files all the time 2013-03-14 00:31:14 +01:00
bertag 72ec24108a Tweaked parse_git_dirty() in lib/git.zsh to support proper dirty/clean parsing against both git 1.6 and git 1.7+ 2013-03-11 13:41:32 -06:00
Thomas Minor 3db22634a1 pipe git version check error to /dev/null (for when git doesn't exist) 2013-02-19 10:00:58 -08:00
Yoav Weiss 9245a30868 Did a full circle and went back to # On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   git.zsh
#, ignoring untracked files, which seems to be the primary cause for slowness
2013-02-13 17:14:43 +01:00
Yoav Weiss 11576dd40b Fixed dirty check to include files added to index 2013-02-13 11:28:13 +01:00
Yoav Weiss 171a76a3c4 Closer to original status command, using SUBMODULE SYNTAX 2013-01-30 09:32:01 +01:00
Yoav Weiss 2e213b9b8f Faster dirty git status check (using git diff) 2013-01-27 14:50:33 +01:00
Robby Russell 9ef7e8a191 Merge pull request #1077 from Mezzle/add-option-to-show-git-status
Add option to disable status notification
2013-01-10 22:36:16 -08:00
MAD b9a989fea5 Add Stash toogle to display if there's some stash or not in `git_prompt_status` 2012-12-07 10:25:02 +01:00
Robby Russell 78e3f38db7 Merge pull request #1258 from caio/git-branch-status
Add branch status support to git_prompt_status
2012-12-04 06:56:43 -08:00
Robby Russell 5aed0aed4e Merge pull request #875 from ttddyy/prompt_git-remove
prompt git-rm as deleted
2012-12-04 06:45:17 -08:00
Robby Russell 9977afc0b5 Merge pull request #1263 from tedv/headless-git
Make git use sha when branch name is missing.
2012-12-02 12:42:38 -08:00
Ted Vessenes 027fcccc92 Make git use sha when branch name is missing. 2012-07-31 13:27:40 -04:00
Caio Romão a3c2a2f6e8 Add branch status support to git_prompt_status
This patch makes git_prompt_status support three new status variables:

 - ZSH_THEME_GIT_PROMPT_AHEAD
 - ZSH_THEME_GIT_PROMPT_BEHIND
 - ZSH_THEME_GIT_PROMPT_DIVERGED

With these extra variables it's easy to see (1) if you have commits in
your local branch that weren't pushed to the remote (AHEAD), (2) if
there are commits in the remote that you haven't merged/rebased yet
(BEHIND) or (3) if you have local unpushed commits AND the remote has
some commits you haven't merged yet (DIVERGED).

Refer to the first line displayed on `git status -b --porcelain`.

An example setup in a .zsh-theme file would be:

ZSH_THEME_GIT_PROMPT_AHEAD="↑"
ZSH_THEME_GIT_PROMPT_BEHIND="↓"
ZSH_THEME_GIT_PROMPT_DIVERGED="↕"
2012-07-29 20:18:26 +02:00
James Smith 772bc51c3a Merge 2012-07-24 13:39:07 -07:00
Martin Meredith 8ce35df2c5 Add option to disable status notification
For certain git repositories, this slows down usage
of the shell horifically.

This option can be set with

    git config --add oh-my-zsh.hide-status 1

which will disable checking/showing the status notification
2012-04-18 11:45:22 +01:00
cruser42 5a5c93b334 Fixed bug introduced when fixing issue 896 2012-02-21 10:47:05 -05:00