mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-08 04:34:00 +02:00
To get the name of the current checked out tag the gitstatus.py script calls `git log -1 --format="%h%d"`. Ordinarily this will output something similar to `(HEAD, tag: foo)`. Then the regex grabs everything from `tag:` to the closing `)` and then drops the last character to give the tag name. This causes a problem when the current tag is equal to another tag or branch and the output looks like this: `(HEAD, tag: foo, origin/master)` and the tagname gets set to `tag: foo, origin/master`. This breaks the whole script because its output is space delimited and GIT_AHEAD which is supposed to be an integer gets set to `origin/master` (branch also get set to `foo,` instead of `foo`, but it's not as big of a problem). To fix this we change the regex to be nongreedy so that it will only grab one item from the list and let the closing match either `, `(comma space) or `)`. We also have to use a lookahead since we can't just drop 1 character (`, ` is 2 characters). |
||
|---|---|---|
| .. | ||
| git-prompt.plugin.zsh | ||
| gitstatus.py | ||