                             (if (svn-status-line-info->update-available line-info)
                                 "HEAD" "BASE")
                           revision)
+                   (unless recursive "--non-recursive")
                    (svn-status-line-info->filename line-info))
       (setq clear-buf nil)))
   (svn-status-diff-mode))

                 (string= "." (svn-status-line-info->filename (car svn-status-files-to-commit)))))
      (svn-status-create-arg-file svn-status-temp-arg-file ""
                                  svn-status-files-to-commit "")
      (svn-run-svn t t 'commit "commit" "--targets" svn-status-temp-arg-file
                   "-F" svn-status-temp-file-to-remove
                   svn-status-default-commit-arguments))
    (set-window-configuration svn-status-pre-commit-window-configuration)

  ;; This call is very much like `svn-status-show-svn-diff-for-marked-files'
  ;; but uses commit-specific variables instead of the current marks.
  (svn-status-show-svn-diff-internal svn-status-files-to-commit
                                     svn-status-recursive-commit
                                     (if arg :ask "BASE")))

(defun svn-log-edit-svn-log (arg)
