                 (darcsum-remove-changeset darcsum-data changeset))
           (darcsum-refresh)))))
 
+(defvar darcsum-darcs-2-options 'not-set)
+
 (defun darcsum-start-process (subcommand args
                                          &optional name value &rest localize)
   "Start darcs process."
+  (if (eq darcsum-darcs-2-options 'not-set)
+      ;; Check version and set proper darcsum-darcs-2-options
+      (with-temp-buffer
+	(call-process darcsum-program nil t nil "--version")
+	(goto-char (point-min))
+	(setq darcsum-darcs-2-options
+	      (if (looking-at "2[.]") (list "--quiet")))))
     (let*
         ((buf (generate-new-buffer (format " *darcs %s*" subcommand)))
          (process-environment

		  process-environment))
         (process-connection-type nil)
         (proc (apply 'start-process "darcs"
                      buf darcsum-program subcommand args)))
      (set-process-sentinel proc 'darcsum-process-sentinel)
      (set-process-filter proc 'darcsum-process-filter)
      (with-current-buffer buf

    (save-excursion
      (goto-char (point-min))

      (if (looking-at "\n*Skipped \\(record\\|add\\|revert\\) of [0-9]+ patch\\(es\\)?\\.\n")
	  (delete-region (point-min) (match-end 0)))

      (cond
