diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2019-11-29 01:45:19 +0000 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2019-11-29 20:34:34 +0000 |
commit | dae3e135d8c3e2d16e7dc22582aa8a3f66716de7 (patch) | |
tree | f1199ac10b250016998723b70a91a749f5069aaf /Completion | |
parent | a4f5c345c89a066672328c81316ad9cad7a4c7cb (diff) | |
download | zsh-dae3e135d8c3e2d16e7dc22582aa8a3f66716de7.tar.gz zsh-dae3e135d8c3e2d16e7dc22582aa8a3f66716de7.tar.xz zsh-dae3e135d8c3e2d16e7dc22582aa8a3f66716de7.zip |
44948: _subversion: Make _svn_controlled offer everything rather than nothing.
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Unix/Command/_subversion | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion index b39c8578e..2ce43a0cd 100644 --- a/Completion/Unix/Command/_subversion +++ b/Completion/Unix/Command/_subversion @@ -128,7 +128,7 @@ _svn () { case $cmd in; (add) args+=( - '*:file:_files -g "*(^e:_svn_controlled:)"' + '*:file:_files -g "*(e:_svn_uncontrolled:)"' ) ;; (auth) @@ -350,7 +350,22 @@ _svnadmin () { (( $+functions[_svn_controlled] )) || _svn_controlled() { - [[ -f ${(M)REPLY##*/}.svn/text-base/${REPLY##*/}.svn-base ]] + # For svn<=1.6, this was implemented as: + # [[ -f ${(M)REPLY##*/}.svn/text-base/${REPLY##*/}.svn-base ]] + # However, because that implementation returns false for all files on svn>=1.7, and + # because 1.6 has been deprecated for 8 years and EOL for 6 years, we opt to DTRT + # for >=1.7. Therefore: + + # TODO: Reimplement this function and _svn_uncontrolled for svn>=1.7. + # (Use 'svn st' or 'svn info', not 'svn ls') + return 0 +} + + +(( $+functions[_svn_uncontrolled] )) || +_svn_uncontrolled() { + # TODO: See comments in _svn_controlled + return 0 } (( $+functions[_svn_conflicts] )) || |