                                      (not (svn-status-some-files-marked-p))
                                      (if arg :ask "BASE")))
 
-(defun svn-status-diff-show-changeset (rev &optional user-confirmation)
+(defun svn-status-diff-show-changeset (rev &optional user-confirmation rev-against)
   "Show the changeset for a given log entry.
 When called with a prefix argument, ask the user for the revision."
-  (let* ((upper-rev rev)
-         (lower-rev (number-to-string (- (string-to-number upper-rev) 1)))
+  (let* ((upper-rev (if rev-against rev-against rev))
+         (lower-rev (if rev-against rev (number-to-string (- (string-to-number upper-rev) 1))))
          (rev-arg (concat lower-rev ":" upper-rev)))
     (when user-confirmation
       (setq rev-arg (read-string "Revision for changeset: " rev-arg)))

    (beginning-of-line 2)
    (unless (looking-at "Changed paths:")
      (beginning-of-line 1))))

(defun svn-log-revision-at-point ()
  (save-excursion

  (defface svn-status-blame-highlight-face
    '((t :inherit highlight))
    "Default face for highlighting a line in svn status blame mode."
    :group 'psvn-faces))

(if svn-xemacsp
    (defface svn-log-partner-highlight-face
      '((((type tty) (class color)) (:foreground "yellow" :weight light))
        (((class color) (background light)) (:foreground "gold"))
        (((class color) (background dark)) (:foreground "gold"))
        (t (:weight bold)))
      "Default face for highlighting the partner in svn log mode."
      :group 'psvn-faces)
  (defface svn-log-partner-highlight-face
  '((((class color) (background light))
     (:background "light goldenrod" :weight bold))
    (t (:weight bold)))
    "Default face for highlighting the partner in svn log mode."
    :group 'psvn-faces))

(defface svn-status-blame-rev-number-face
