summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2019-11-29 01:45:19 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2019-11-29 20:34:34 +0000
commitdae3e135d8c3e2d16e7dc22582aa8a3f66716de7 (patch)
treef1199ac10b250016998723b70a91a749f5069aaf /Completion/Unix/Command
parenta4f5c345c89a066672328c81316ad9cad7a4c7cb (diff)
downloadzsh-dae3e135d8c3e2d16e7dc22582aa8a3f66716de7.tar.gz
zsh-dae3e135d8c3e2d16e7dc22582aa8a3f66716de7.zip
44948: _subversion: Make _svn_controlled offer everything rather than nothing.
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_subversion19
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] )) ||