Commits

ZyX_I  committed ae2591a

@%aurum/drivers/subversion: Added support for fifth status optional argument
(untested, as well as in git driver)

  • Participants
  • Parent commits 4acd3ae

Comments (0)

Files changed (1)

File autoload/aurum/drivers/subversion.vim

             \'I': 'ignored',}, {
             \'C': 'modified',
             \'M': 'modified',}]
-function s:F.status(repo, files)
+function s:F.status(repo, args, kwargs)
     let r=deepcopy(s:_r.utils.emptystatdct)
-    let args=[]
-    if !empty(a:files)
-        let args+=['--']+a:files
-    endif
-    let slines=s:F.svn(a:repo, 'status', args, {}, 0, 'statf')
+    let slines=s:F.svn(a:repo, 'status', a:args, a:kwargs, 0, 'statf')
     let revstatus={}
     for line in slines
         let status=line[:6]
                 \'map(v:val, "extend(r, {v:val : ''".v:key."''})")')
     return r
 endfunction
-"▶1 svn.status :: repo[, rev1[, rev2[, files[, clean]]]]
+"▶1 svn.status :: repo[, rev1[, rev2[, files[, clean[, ign]]]]] → {type:[file]}
 " TODO Try using diff --summarize
 function s:svn.status(repo, ...)
     let requiresclean=(a:0>3 && a:4)
+    let args=((a:0>2 && !empty(a:3))?(['--']+a:3):([]))
     "▶2 Simple case: we can use “svn status”
     if !a:0 || (a:1 is 0 && !(a:0>1 && a:2 isnot 0))
-        let [r, revstatus]=s:F.status(a:repo, get(a:000, 2, []))
+        let kwargs={}
+        if a:0>4 && a:5
+            let kwargs['no-ignore']=1
+        endif
+        let [r, revstatus]=s:F.status(a:repo, args, kwargs)
         if requiresclean
             let allfiles=a:repo.functions.getcsprop(a:repo, 'BASE', 'allfiles')
             if a:0>2 && !empty(a:3)
             call map(rsallfiless, 'filter(v:val, "index(a:3, v:val)!=-1")')
         endif
         if usescur
-            let fs=s:F.status(a:repo, get(a:000, 2, []))[1]
+            let fs=s:F.status(a:repo, args, {})[1]
             call filter(fs, 'v:val is# "deleted" || v:val is# "removed"')
             let ofs=rsallfiless[0]
         else