Ohmyzsh: git-prompt show errors if the current branch is a tag

Created on 3 Jan 2017  ·  3Comments  ·  Source: ohmyzsh/ohmyzsh

➜  cd ~/.nvm
git_super_status:[:4: integer expression expected: origin/HEAD,
git_super_status:[:7: integer expression expected: origin/master,
git_super_status:[:11: integer expression expected: master
git_super_status:[:23: integer expression expected: master
.nvm
➜  git branch                                                                                                                                                       (tags/v0.33.0,|)
* (HEAD detached at v0.33.0)
  master
git_super_status:[:4: integer expression expected: origin/HEAD,
git_super_status:[:7: integer expression expected: origin/master,
git_super_status:[:11: integer expression expected: master
git_super_status:[:23: integer expression expected: master

Most helpful comment

Same issue when simply doing git init:

$ mkdir tmp && cd $_
$ git init
Initialized empty Git repository in /Users/cweekly/.git/
git_super_status:[:4: integer expression expected: yet
git_super_status:[:7: integer expression expected: commits
git_super_status:[:11: integer expression expected: on
git_super_status:[:14: integer expression expected: master
git_super_status:[:23: integer expression expected: master

All 3 comments

Line 20 in plugins/git-prompt/gitstatus.py has a greedy .* that has to be non-greedy to work.

This is a sample where greedy will cause issues:
79445c1 (HEAD, tag: v1.0.0-rc.2, origin/master, origin/HEAD, master)

the current regex selects v1.0.0-rc.2, origin/master, origin/HEAD, master as tag.
Since this contains whitespaces it breaks gitstatuses output format.

Simply adding a ? after .* will fix the issue.
Not sure however if that fixes all problems.
Maybe there should be a stronger approach to parse this.

There is already a pull request open for this:

4991

Same issue when simply doing git init:

$ mkdir tmp && cd $_
$ git init
Initialized empty Git repository in /Users/cweekly/.git/
git_super_status:[:4: integer expression expected: yet
git_super_status:[:7: integer expression expected: commits
git_super_status:[:11: integer expression expected: on
git_super_status:[:14: integer expression expected: master
git_super_status:[:23: integer expression expected: master

FWIW I had this issue when I cloned a new, empty repo this morning. After 20 minutes of troubleshooting, I decided to make a first commit and push, after which this error stopped showing up. So if this is happening with a new, empty repo, try pushing a commit and see if it goes away. Not ideal, but good enough.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mrgaolei picture mrgaolei  ·  3Comments

victorsenam picture victorsenam  ·  3Comments

Cabbagec picture Cabbagec  ·  3Comments

ensonik picture ensonik  ·  3Comments

dogrizz picture dogrizz  ·  3Comments