           (svn-run-svn t t 'cleanup (append (list "cleanup") file-names)))
       (message "No valid file selected - No status cleanup possible"))))
 
+(defun svn-status-resolved ()
+  "Run `svn resolved' on all selected files.
+See `svn-status-marked-files' for what counts as selected."
+  (interactive)
+  (let* ((marked-files (svn-status-marked-files))
+         (num-of-files (length marked-files)))
+    (when (yes-or-no-p
+           (if (= 1 num-of-files)
+               (format "Resolve %s? " (svn-status-line-info->filename (car marked-files)))
+             (format "Resolve %d files? " num-of-files)))
+      (message "resolving: %S" (svn-status-marked-file-names))
+      (svn-status-create-arg-file svn-status-temp-arg-file "" (svn-status-marked-files) "")
+      (svn-run-svn t t 'resolved "resolved" "--targets" svn-status-temp-arg-file))))
+
+
 ;; --------------------------------------------------------------------------------
 ;; Getting older revisions
 ;; --------------------------------------------------------------------------------

;; * propget (pget, pg)        used
;; * proplist (plist, pl)      implemented
;; * propset (pset, ps)        used
;; * resolved
;; * revert                    implemented
;; * status (stat, st)         implemented
;; * switch (sw)

      (goto-char (point-min))
      (while (< (point) (point-max))
        (cond
         ((= (point-at-eol) (point-at-bol)) ;skip blank lines
          nil)
         ((or (looking-at "Head revision:[ ]+\([0-9]+\)") ;svn version < 0.29
              (looking-at "Status against revision:[ ]+\([0-9]+\)")); svn version >= 0.29
