 (defvar svn-status-module-name nil
   "*A short name for the actual project.
 This can be set with \\[svn-status-set-module-name].")
+
+(defvar svn-status-branch-list nil
+  "*A list of known branches for the actual project
+This can be set with \\[svn-status-set-branch-list].")
 
 (defvar svn-status-load-state-before-svn-status t
   "*Whether to automatically restore state from ++psvn.state file before running svn-status.")

  (interactive)
  (svn-status-parse-info t)
  (svn-status-ls (concat (svn-status-base-info->repository-root) "/branches")))

(defun svn-status-toggle-edit-cmd-flag (&optional reset)
  "Allow the user to edit the parameters for the next svn command.

              (svn-status-line-info->full-path file-info)))
        (error "can not resolve conflicts at this point"))))


;; --------------------------------------------------------------------------------
;; Working with branches
;; --------------------------------------------------------------------------------

(defun svn-select-branch ()
  "Let the user select a branch from `svn-status-branch-list'"
  (interactive)
  (let* ((completion-function (if svn-status-use-ido-completion 'ido-completing-read 'completing-read))
         (branch (funcall completion-function "Select branch: " svn-status-branch-list)))
    (when (string-match "#\\(.+\\)" branch)
      (save-match-data
        (svn-status-parse-info t))
      (setq branch (concat (svn-status-base-info->repository-root) "/" (match-string 1 branch))))
    (message "svn-select-branch:: %s" branch)
    branch))

;; --------------------------------------------------------------------------------
;; svnadmin interface
;; --------------------------------------------------------------------------------
