diff options
author | m0viefreak <m0viefreak.cm@googlemail.com> | 2014-02-17 05:00:36 +0100 |
---|---|---|
committer | Frank Terbeck <ft@bewatermyfriend.org> | 2014-02-18 12:19:23 +0100 |
commit | 946a99a0b34adc5cbb57fb5e8f3739cc0fcd8ed5 (patch) | |
tree | 8afea4c88c7f91e0381ccd0bd0803ec472b669ff /Functions/TCP/tcp_proxy | |
parent | 76ab661df3015f5adc10ff58ba5ea773901753bf (diff) | |
download | zsh-946a99a0b34adc5cbb57fb5e8f3739cc0fcd8ed5.tar.gz zsh-946a99a0b34adc5cbb57fb5e8f3739cc0fcd8ed5.zip |
32396: _git: fix __git_committish_range_{first,last} and __git_is_committish_range
- Ranges with 3 dots would always fail, because the non-greedy
expansion %..(.|)* in __git_committish_range_first would only
remove '..' and never three dots. 'a...b' would end up in 'a.'.
Use ${${1%..*}%.} instead.
- Use a similar approach for __git_committish_range_last.
- Wrap them in another expansion to replace empty results with 'HEAD'.
Git man-page states omitted range ending are being replaced with
HEAD. This rule has to be followed to make completions like
'git log foo.. -- <tab>' work properly.
- Add an additional check to make sure none of the extracted first/last
parts contain additional '..' in invalied ranges such as 'a..b..c'.
This gets rid of the 'TODO:' and ideally saves a few unneded
calls to git rev-parse.
Diffstat (limited to 'Functions/TCP/tcp_proxy')
0 files changed, 0 insertions, 0 deletions