about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_subversion18
2 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index aef8e9520..64e2f6d22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-19  Daniel Shahaf  <d.s@daniel.shahaf.name>
+
+	* 36208: Completion/Unix/Command/_subversion: _subversion:
+	Complete a few more option switches
+
 2015-08-18  Peter Stephenson  <p.stephenson@samsung.com>
 
 	* 36232: Src/compat.c: Unmeta an additional chdir().
diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion
index 8c3d8746f..1cffc3c04 100644
--- a/Completion/Unix/Command/_subversion
+++ b/Completion/Unix/Command/_subversion
@@ -50,9 +50,27 @@ _svn () {
 	  args=(
 	    ${=${${${(M)${(f)"$(_comp_locale; _call_program options svn help $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)(-##)([[:alpha:]]##) \[--([a-z-]##)\](:arg:)#/(--$match[3])$match[1]$match[2]$match[4] ($match[1]$match[2])--$match[3]$match[4]}
 	  )
+          while (( idx=$args[(I)*--accept:arg:] )); do
+            args[(I)*--accept:arg:]=( --accept':automatic conflict resolution action:((working\:working base\:base '"`for i j in p postpone mc mine-conflict tc theirs-conflict mf mine-full tf theirs-full e edit l launch; print -rn $i\\\\:$j $j\\\\:$j "" `"'))' )
+          done
           while (( idx=$args[(I)*--c(l|hangelist):arg:] )); do
             args[(I)*--c(l|hangelist):arg:]=( \*{--cl,--changelist}':change list:_svn_changelists' )
           done
+          while (( idx=$args[(I)*--config-dir:arg:] )); do
+            args[(I)*--config-dir:arg:]=( --config-dir':config dir:_directories' )
+          done
+          while (( idx=$args[(I)*--depth:arg:] )); do
+            args[(I)*--depth:arg:]=( --depth':operation depth (how far to recurse):(empty files immediates infinity)' )
+          done
+          while (( idx=$args[(I)*(-F|--file):arg:] )); do
+            args[(I)*(-F|--file):arg:]=( '(-F --file)'{-F,--file}':log message file:_files' )
+          done
+          while (( idx=$args[(I)*--set-depth:arg:] )); do
+            args[(I)*--set-depth:arg:]=( --set-depth'[make working copy deeper or shallower]:new depth:(exclude empty files immediates infinity)' )
+          done
+          while (( idx=$args[(I)*--trust-server-cert-failures:arg:] )); do
+            args[(I)*--trust-server-cert-failures:arg:]=( --trust-server-cert-failures':failures:_values -s , "certificate failures to ignore" "unknown-ca[unknown authority]" "cn-mismatch[hostname mismatch]" "expired[certificate expired]" "not-yet-valid[certificate not yet valid]" "other[all other failures]"' )
+          done
 	  _store_cache svn-${cmd}-args args
 	fi