Commit Graph

23 Commits (c055c6464de20da13a6c805f017543f94b6e0ca9)

Author SHA1 Message Date
Daniel Shahaf c055c6464d unposted: vcs_info: Add Vim modelines
... for consistency with all other vcs_info function files.
2 years ago
Suraj N. Kurapati d634a3d333 49128 (github #76): vcs_info-examples: optimize +vi-git-untracked()
Speed up the prompt on large and/or deep working directories by
stopping grep(1) as soon as it finds a single match, with `-q`.
Also, correct the regexp by adding a ^ anchor and increase its
specificity by accounting for the space in Porcelain Format v1.

Previously, +vi-git-untracked() waited for grep(1) to find all
matches of untracked files, redirecting them away to /dev/null,
before finally concluding that untracked files do indeed exist.

With this patch, I see 4x speedup on a large Git-enabled $HOME:

    $ time (git status --porcelain | wc -l)
    212
    0.01s user 0.02s system 0% cpu 9.021 total

    $ time (git status --porcelain | grep '??' &>/dev/null)
    0.01s user 0.02s system 0% cpu 12.294 total

    $ time (git status --porcelain | grep -q '^?? ' 2>/dev/null)
    0.01s user 0.01s system 0% cpu 3.097 total

Note that `-q` for grep(1) is in POSIX (IEEE Std 1003.1-2017):
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html

See discussion https://www.zsh.org/mla/workers/2021/msg01354.html
3 years ago
Daniel Shahaf b110d6d5af 48435 (tweaked): vcs_info docs: applied-string/unapplied-string: Correct an omission in the documentation and add an example.
The example code is a reduced version of my function from workers/47519,
with one bug fixed.  (In workers/47519, if $1 doesn't contain spaces -
which is the case under hg mq - then $H and $s will be set to the same
value.)

Tweaked: Extended the contrib.yo hunk with details about mq.
3 years ago
Daniel Shahaf c40a63ab67 48528/0002: vcs_info git docs: ahead/behind commits: Reduce the number of forks 3 years ago
Daniel Shahaf d9ac5916ba 48528/0001: vcs_info git docs: ahead/behind commits: Don't run rev-list when that would fail 3 years ago
Tim Lee 3b631babec 48525: vcs_info git docs: ahead/behind commits: Run fewer external programs 3 years ago
Mikael Magnusson 42b5371d70 unposted: vcs_info-examples: Fix condition 4 years ago
Daniel Shahaf ad47c2d907 unposted (cf. GitHub #11): vcs_info hg: docs: Change an example to not use a hex dump incantation that may replace some bytes' values with asterisks.
Discussion: https://github.com/zsh-users/zsh/pull/11#issuecomment-457970494 et seq

Incidentally, GitHub #11 is also where workers/39786 (commit
zsh-5.2-578-g74aa45910) was first reported.
4 years ago
Daniel Shahaf 41e3518589 45115: vcs_info examples: Make the quilt-patch-dir example friendlier.
- Document that no code at all is necessary for Pareto correctness

- Remove a recommendation to rely on implementation details (${rrn});
  instead, rely only on ${context}, which is a documented API.
4 years ago
Daniel Shahaf fec98a13fd 45116: vcs_info examples: Add an example of showing Git environment variables. 4 years ago
Daniel Shahaf 27a64a16fb unposted: vcs_info: Add an example of using $functions to find hooks by name. 5 years ago
Daniel Shahaf e007cd9f88 40510: vcs_info: Update the $psvar episode with '%'-unescaping. (Follow-up to 40492.) 7 years ago
Marc Finet 6ec8cfdeaa 33149: vcs_info examples: fix typo 10 years ago
Daniel Shahaf eb4c70d0b7 32528: vcs_info: Add check-for-staged-changes 10 years ago
Frank Terbeck 966bd9bd82 Seth House: 30701: Misc/vcs_info-examples: Added an hg hook example to restore the 40-char hash 12 years ago
Simon Ruderich d5db14e3c9 30366: Misc/vcs_info-examples: Fix outdated quilt examples. 12 years ago
Frank Terbeck 8ce9c1cbe7 Suraj N. Kurapati: vcs_info-examples: Mention different ways to handle remote branch names in `vi-git-remotebranch()'. 13 years ago
Frank Terbeck 0deff4f99a Valentin Haenel: 29431: Hook example for signaling untracked files in git repositories 13 years ago
Frank Terbeck 67e6e030d2 Seth House: 28115: Another git example vcs_info hook. 14 years ago
Frank Terbeck e03c47752b Seth House: 28084, 28083: cleanups and new examples. 14 years ago
Frank Terbeck 88ea63adf2 Simon Ruderich: 27953: vcs_info: changed default formats and actionformats. 14 years ago
Frank Terbeck 9773e56418 Simon Ruderich: 27954: vcs_info: more minor documentation fixes. 14 years ago
Frank Terbeck 0501efc54a Seth House, Simon Ruderich and myself: 27948: various vcs_info changes
Here's a diff-stat:

 Doc/Zsh/contrib.yo                                |  506 ++++++++++++++-------
 Functions/VCS_Info/.distfiles                     |    1 +
 Functions/VCS_Info/Backends/VCS_INFO_detect_hg    |   14 +-
 Functions/VCS_Info/Backends/VCS_INFO_get_data_git |   35 +-
 Functions/VCS_Info/Backends/VCS_INFO_get_data_hg  |  295 +++++++++----
 Functions/VCS_Info/VCS_INFO_formats               |   26 +-
 Functions/VCS_Info/VCS_INFO_hook                  |   10 +-
 Functions/VCS_Info/VCS_INFO_quilt                 |  190 ++++++++
 Functions/VCS_Info/vcs_info                       |   30 +-
 Misc/.distfiles                                   |    1 +
 Misc/vcs_info-examples                            |  496 ++++++++++++++++++++
 11 files changed, 1303 insertions(+), 301 deletions(-)

The major changes are vast improvements for the mercurial (hg) backend
(which was done almost entirely by Seth); improved documentation (mostly
done by Simon and again Seth); quilt support (as an addon and stand
alone, see the manual for details); a number of new hooks and a fair
share of bugfixes.
14 years ago