   (interactive)
   (set-buffer "*svn-log-edit*")
   (erase-buffer))
+
+(defun svn-log-edit-insert-files-to-commit ()
+  (interactive)
+  (svn-log-edit-remove-comment-lines)
+  (let ((buf-size (- (point-max) (point-min))))
+    (save-excursion
+      (goto-char (point-min))
+      (insert "## Lines starting with '## ' will be removed from the log message.\n")
+      (insert "## File(s) to commit:\n")
+      (let ((file-list svn-status-files-to-commit))
+        (while file-list
+          (insert (concat "## " (svn-status-line-info->filename (car file-list)) "\n"))
+          (setq file-list (cdr file-list)))))
+    (when (= 0 buf-size)
+      (goto-char (point-max)))))
+
+(defun svn-log-edit-remove-comment-lines ()
+  (interactive)
+  (save-excursion
+    (goto-char (point-min))
+    (flush-lines "^## .*")))
 
 
 ;; --------------------------------------------------------------------------------


;;; user setable variables
(defvar svn-log-edit-file-name "++svn-log++" "*Name of a saved log file.")
(defvar svn-status-hide-unknown nil "*Hide unknown files in *svn-status* buffer.")
(defvar svn-status-hide-unmodified nil "*Hide unmodified files in *svn-status* buffer.")
(defvar svn-status-directory-history nil "*List of visited svn working directories.")

  (let* ((marked-files (svn-status-marked-files)))
    (setq svn-status-files-to-commit marked-files)
    (svn-log-edit-show-files-to-commit)
    (svn-status-pop-to-commit-buffer)
    (when svn-log-edit-insert-files-to-commit
      (svn-log-edit-insert-files-to-commit))))

(defun svn-status-pop-to-commit-buffer ()
  (interactive)
