rpms/subversion/devel .cvsignore, 1.18, 1.19 psvn.el, 1.6, 1.7 sources, 1.21, 1.22 subversion.spec, 1.74, 1.75

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Jun 2 08:48:50 UTC 2006


Author: jorton

Update of /cvs/dist/rpms/subversion/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv9560

Modified Files:
	.cvsignore psvn.el sources subversion.spec 
Log Message:
* Fri Jun  2 2006 Joe Orton <jorton at redhat.com> 1.3.2-2
- update to 1.3.2
- fix Ruby sitelibdir (Garrick Staples, #191611)
- own /etc/subversion (#189071)
- update to psvn.el r19857



Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/subversion/devel/.cvsignore,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- .cvsignore	4 Jan 2006 13:07:01 -0000	1.18
+++ .cvsignore	2 Jun 2006 08:48:47 -0000	1.19
@@ -1,2 +1,5 @@
-subversion-1.3.0.tar.gz
-subversion-1.2.3-3.src.rpm subversion-1.2.3-5.src.rpm
+*.src.rpm
+*.tar.gz
+x86_64
+subversion-1.3.2
+clog


Index: psvn.el
===================================================================
RCS file: /cvs/dist/rpms/subversion/devel/psvn.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- psvn.el	4 Apr 2006 09:21:08 -0000	1.6
+++ psvn.el	2 Jun 2006 08:48:47 -0000	1.7
@@ -28,7 +28,10 @@
 ;; (see http://subversion.tigris.org)
 ;; psvn.el provides a similar interface for subversion as pcl-cvs for cvs.
 ;; At the moment the following commands are implemented:
+;;
 ;; M-x svn-status: run 'svn -status -v'
+;; M-x svn-examine (like pcl-cvs cvs-examine) is alias for svn-status
+;;
 ;; and show the result in the svn-status-buffer-name buffer (normally: *svn-status*).
 ;; If svn-status-verbose is set to nil, only "svn status" without "-v"
 ;; is run. Currently you have to toggle this variable manually.
@@ -143,7 +146,8 @@
 ;; * help (?, h)
 ;; * import
 ;; * info                      implemented
-;; * list (ls)
+;; * list (ls)                 implemented
+;; * lock
 ;; * log                       implemented
 ;; * merge
 ;; * mkdir                     implemented
@@ -157,6 +161,7 @@
 ;; * revert                    implemented
 ;; * status (stat, st)         implemented
 ;; * switch (sw)
+;; * unlock
 ;; * update (up)               implemented
 
 ;; For the not yet implemented commands you should use the command line
@@ -191,6 +196,9 @@
       (require 'diff-mode))
   (error nil))
 
+(defconst svn-psvn-revision "$Id$"
+  "The revision number of psvn.")
+
 ;;; user setable variables
 (defcustom svn-status-verbose t
   "*Add '-v' to svn status call."
@@ -467,7 +475,7 @@
 (defvar svn-process-cmd nil)
 (defvar svn-status-info nil)
 (defvar svn-status-filename-to-buffer-position-cache (make-hash-table :test 'equal :weakness t))
-(defvar svn-status-base-info nil)
+(defvar svn-status-base-info nil "The parsed result from the svn info command.")
 (defvar svn-status-initial-window-configuration nil)
 (defvar svn-status-default-column 23)
 (defvar svn-status-default-revision-width 4)
@@ -522,6 +530,8 @@
 ;; already implied by "-function" suffix
 (defvar svn-status-get-specific-revision-file-info)
 (defvar svn-status-last-output-buffer-name)
+(defvar svn-status-pre-run-svn-buffer nil)
+(defvar svn-status-update-list nil)
 (defvar svn-transient-buffers)
 (defvar svn-ediff-windows)
 (defvar svn-ediff-result)
@@ -729,8 +739,9 @@
   (define-key svn-global-keymap (kbd "l") 'svn-status-show-svn-log)
   (define-key svn-global-keymap (kbd "u") 'svn-status-update-cmd)
   (define-key svn-global-keymap (kbd "=") 'svn-status-show-svn-diff)
+  (define-key svn-global-keymap (kbd "b") 'svn-status-blame)
   (define-key svn-global-keymap (kbd "c") 'svn-status-commit)
-  (define-key svn-global-keymap (kbd "b") 'svn-status-switch-to-status-buffer)
+  (define-key svn-global-keymap (kbd "S") 'svn-status-switch-to-status-buffer)
   (define-key svn-global-keymap (kbd "o") 'svn-status-pop-to-status-buffer))
 
 (defvar svn-status-diff-mode-map ()
@@ -787,53 +798,80 @@
         if (listp item) nconc (svn-status-flatten-list item)
         else collect item))
 
-(defvar svn-status-display-new-status-buffer nil)
+
+
+;;;###autoload (defalias 'svn-examine 'svn-status)
+(defalias 'svn-examine 'svn-status)
+
 ;;;###autoload
 (defun svn-status (dir &optional arg)
   "Examine the status of Subversion working copy in directory DIR.
 If ARG is -, allow editing of the parameters. One could add -N to
 run svn status non recursively to make it faster.
-For every other non nil ARG pass the -u argument to `svn status'."
+For every other non nil ARG pass the -u argument to `svn status'.
+
+If there is no .svn directory, examine if there is SVN and run
+`cvs-examine'. Otherwise ask if to run `dired'."
   (interactive (list (svn-read-directory-name "SVN status directory: "
                                               nil default-directory nil)
                      current-prefix-arg))
-  (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
+  (let ((svn-dir (format "%s%s"
+                         (file-name-as-directory dir)
+                         (svn-wc-adm-dir-name)))
+        (cvs-dir (format "%sCVS" (file-name-as-directory dir))))
+    (cond
+     ((file-directory-p svn-dir)
+      (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
+      (svn-status-1 dir arg))
+     ((and (file-directory-p cvs-dir)
+           (fboundp 'cvs-examine))
+      (cvs-examine dir nil))
+     (t
+      (when (y-or-n-p
+             (format
+              (concat
+               "%s "
+               "is not Subversion controlled (missing %s "
+               "directory). "
+               "Run dired instead? ")
+              dir
+              (svn-wc-adm-dir-name)))
+        (dired dir))))))
+
+(defvar svn-status-display-new-status-buffer nil)
+(defun svn-status-1 (dir &optional arg)
+  "Examine DIR. See `svn-status' for more information."
   (unless (file-directory-p dir)
     (error "%s is not a directory" dir))
-  (if (not (file-exists-p (concat dir "/" (svn-wc-adm-dir-name) "/")))
-      (when (y-or-n-p
-             (concat dir
-                     " does not seem to be a Subversion working copy (no "
-                     (svn-wc-adm-dir-name) " directory).  "
-                     "Run dired instead? "))
-        (dired dir))
-    (setq dir (file-name-as-directory dir))
-    (when svn-status-load-state-before-svn-status
-      (unless (string= dir (car svn-status-directory-history))
-        (svn-status-load-state t)))
-    (setq svn-status-directory-history (delete dir svn-status-directory-history))
-    (add-to-list 'svn-status-directory-history dir)
-    (if (string= (buffer-name) svn-status-buffer-name)
-        (setq svn-status-display-new-status-buffer nil)
-      (setq svn-status-display-new-status-buffer t)
-      ;;(message "psvn: Saving initial window configuration")
-      (setq svn-status-initial-window-configuration (current-window-configuration)))
-    (let* ((status-buf (get-buffer-create svn-status-buffer-name))
-           (proc-buf (get-buffer-create "*svn-process*"))
-           (want-edit (eq arg '-))
-           (status-option (if want-edit
-                              (if svn-status-verbose "-v" "")
-                            (if svn-status-verbose
-                                (if arg "-uv" "-v")
-                              (if arg "-u" ""))))
-           (svn-status-edit-svn-command (or want-edit svn-status-edit-svn-command)))
-      (save-excursion
-        (set-buffer status-buf)
-        (setq default-directory dir)
-        (set-buffer proc-buf)
-        (setq default-directory dir
-              svn-status-remote (when arg t))
-        (svn-run t t 'status "status" status-option)))))
+  (setq dir (file-name-as-directory dir))
+  (when svn-status-load-state-before-svn-status
+    (unless (string= dir (car svn-status-directory-history))
+      (svn-status-load-state t)))
+  (setq svn-status-directory-history (delete dir svn-status-directory-history))
+  (add-to-list 'svn-status-directory-history dir)
+  (if (string= (buffer-name) svn-status-buffer-name)
+      (setq svn-status-display-new-status-buffer nil)
+    (setq svn-status-display-new-status-buffer t)
+    ;;(message "psvn: Saving initial window configuration")
+    (setq svn-status-initial-window-configuration
+          (current-window-configuration)))
+  (let* ((status-buf (get-buffer-create svn-status-buffer-name))
+         (proc-buf (get-buffer-create "*svn-process*"))
+         (want-edit (eq arg '-))
+         (status-option (if want-edit
+                            (if svn-status-verbose "-v" "")
+                          (if svn-status-verbose
+                              (if arg "-uv" "-v")
+                            (if arg "-u" ""))))
+         (svn-status-edit-svn-command
+          (or want-edit svn-status-edit-svn-command)))
+    (save-excursion
+      (set-buffer status-buf)
+      (setq default-directory dir)
+      (set-buffer proc-buf)
+      (setq default-directory dir
+            svn-status-remote (when arg t))
+      (svn-run t t 'status "status" status-option))))
 
 (defun svn-status-this-directory (arg)
   "Run `svn-status' for the `default-directory'"
@@ -945,11 +983,12 @@
                 ;; never opens a pseudoterminal.
                 (apply 'call-process svn-exe nil proc-buf nil arglist))
               (setq svn-status-mode-line-process-status "")
-              (svn-status-update-mode-line)))))
+              (svn-status-update-mode-line)))
+          (setq svn-status-pre-run-svn-buffer (current-buffer))))
     (error "You can only run one svn process at once!")))
 
 (defun svn-process-sentinel-fixup-path-seperators ()
-	"Convert all path separators to UNIX style.
+    "Convert all path separators to UNIX style.
 \(This is a no-op unless `system-type' is windows-nt\)"
   (when (eq system-type 'windows-nt)
       (save-excursion
@@ -978,6 +1017,11 @@
                     (insert svn-status-update-previous-process-output)
                     (goto-char (point-min))
                     (setq svn-status-update-previous-process-output nil))
+                  (when svn-status-update-list
+                    ;; (message "Using svn-status-update-list: %S" svn-status-update-list)
+                    (save-excursion
+                      (svn-status-update-with-command-list svn-status-update-list))
+                    (setq svn-status-update-list nil))
                   (when svn-status-display-new-status-buffer
                     (set-window-configuration svn-status-initial-window-configuration)
                     (if (svn-had-user-input-since-asynch-run)
@@ -993,10 +1037,17 @@
                  ((eq svn-process-cmd 'info)
                   (svn-status-show-process-output 'info t)
                   (message "svn info finished"))
+                 ((eq svn-process-cmd 'ls)
+                  (svn-status-show-process-output 'info t)
+                  (message "svn ls finished"))
                  ((eq svn-process-cmd 'parse-info)
                   (svn-status-parse-info-result))
                  ((eq svn-process-cmd 'blame)
                   (svn-status-show-process-output 'blame t)
+                  (when svn-status-pre-run-svn-buffer
+                    (with-current-buffer svn-status-pre-run-svn-buffer
+                      (unless (eq major-mode 'svn-status-mode)
+                        (goto-line (line-number-at-pos) (get-buffer svn-status-last-output-buffer-name)))))
                   (message "svn blame finished"))
                  ((eq svn-process-cmd 'commit)
                   (svn-process-sentinel-fixup-path-seperators)
@@ -1010,6 +1061,7 @@
                   (message "svn commit finished"))
                  ((eq svn-process-cmd 'update)
                   (svn-status-show-process-output 'update t)
+                  (setq svn-status-update-list (svn-status-parse-update-output))
                   (svn-status-update)
                   (message "svn update finished"))
                  ((eq svn-process-cmd 'add)
@@ -1041,7 +1093,9 @@
                   (svn-status-property-parse-property-names))
                  ((eq svn-process-cmd 'propset)
                   (svn-status-remove-temp-file-maybe)
-                  (svn-status-update))
+                  (if (member svn-status-propedit-property-name '("svn:keywords"))
+                      (svn-status-update-with-command-list (svn-status-parse-property-output))
+                    (svn-status-update)))
                  ((eq svn-process-cmd 'propdel)
                   (svn-status-update))))
           ((string= event "killed\n")
@@ -1810,7 +1864,7 @@
           ;;(message "found: %S" found)
           (unless found (setq st-info (cdr st-info))))
         (unless found
-          (message "continue to search for %s" (caar cmd-list))
+          (svn-status-message 3 "psvn: continue to search for %s" (caar cmd-list))
           (setq st-info svn-status-info)
           (while (and (not found) st-info)
             (setq found (string= (caar cmd-list) (svn-status-line-info->filename (car st-info))))
@@ -1821,7 +1875,7 @@
               (setq action (cadar cmd-list))
               ;;(message "found %s, action: %S" (caar cmd-list) action)
               (svn-status-annotate-status-buffer-entry action (car st-info)))
-          (message "did not find %s" (caar cmd-list)))
+          (svn-status-message 3 "psvn: did not find %s" (caar cmd-list)))
         (setq cmd-list (cdr cmd-list)))
       (if fname
           (progn
@@ -1845,6 +1899,11 @@
            (setq tag-string " <deleted>"))
           ((equal action 'replaced)
            (setq tag-string " <replaced>"))
+          ((equal action 'updated)
+           (setq tag-string " <updated>"))
+          ((equal action 'propset)
+           ;;(setq tag-string " <propset>")
+           (svn-status-line-info->set-propmark line-info svn-status-file-modified-after-save-flag))
           ((equal action 'added-wc)
            (svn-status-line-info->set-filemark line-info ?A)
            (svn-status-line-info->set-localrev line-info 0))
@@ -1941,9 +2000,63 @@
           (setq skip nil))
         (forward-line 1))
       result)))
-;;(svn-status-parse-ar-output)
+;; (svn-status-parse-ar-output)
 ;; (svn-status-update-with-command-list (svn-status-parse-ar-output))
 
+(defun svn-status-parse-update-output ()
+  "Parse the output of svn update.
+Return a list that is suitable for `svn-status-update-with-command-list'"
+  (save-excursion
+    (set-buffer "*svn-process*")
+    (let ((action)
+          (name)
+          (skip)
+          (result))
+      (goto-char (point-min))
+      (while (< (point) (point-max))
+        (cond ((= (svn-point-at-eol) (svn-point-at-bol)) ;skip blank lines
+               (setq skip t))
+              ((looking-at "Updated to")
+               (setq skip t))
+              ((looking-at "At revision")
+               (setq skip t))
+              ((looking-at "U")
+               (setq action 'updated))
+              ((looking-at "A")
+               (setq action 'added))
+              ((looking-at "D")
+               (setq skip t))
+               ;;(setq action 'deleted)) ;;deleted files are not displayed in the svn status output.
+              (t ;; this should never be needed(?)
+               (setq action 'unknown)))
+        (unless skip ;found an interesting line
+          (forward-char 3)
+          (setq name (buffer-substring-no-properties (point) (svn-point-at-eol)))
+          (setq result (cons (list name action)
+                             result))
+          (setq skip nil))
+        (forward-line 1))
+      result)))
+;; (svn-status-parse-update-output)
+;; (svn-status-update-with-command-list (svn-status-parse-update-output))
+
+(defun svn-status-parse-property-output ()
+  "Parse the output of svn propset.
+Return a list that is suitable for `svn-status-update-with-command-list'"
+  (save-excursion
+    (set-buffer "*svn-process*")
+    (let ((result))
+      (dolist (line (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n"))
+        (message "%s" line)
+        (when (string-match "property '\\(.+\\)' set on '\\(.+\\)'" line)
+          ;;(message "property %s - file %s" (match-string 1 line) (match-string 2 line))
+          (setq result (cons (list (match-string 2 line) 'propset) result))))
+      result)))
+
+;; (svn-status-parse-property-output)
+;; (svn-status-update-with-command-list (svn-status-parse-property-output))
+
+
 (defun svn-status-line-info->symlink-p (line-info)
   "Return non-nil if LINE-INFO refers to a symlink, nil otherwise.
 The value is the name of the file to which it is linked. \(See
@@ -2062,6 +2175,7 @@
         (custom-hide-count 0)   ;how many files are hidden via svn-status-custom-hide-function
         (marked-count 0)        ;how many files are elided
         (user-elide-count 0)
+        (first-line t)
         (fname (svn-status-line-info->filename (svn-status-get-line-information)))
         (fname-pos (point))
         (header-line-string)
@@ -2071,9 +2185,10 @@
     ;; Insert all files and directories
     (while st-info
       (setq start-pos (point))
-      (cond ((svn-status-line-info->has-usermark (car st-info))
-             ;; Show a marked file always
-             (svn-insert-line-in-status-buffer (car st-info)))
+      (cond ((or (svn-status-line-info->has-usermark (car st-info)) first-line)
+             ;; Show a marked file and the "." always
+             (svn-insert-line-in-status-buffer (car st-info))
+             (setq first-line nil))
             ((svn-status-line-info->update-available (car st-info))
              (svn-insert-line-in-status-buffer (car st-info)))
             ((and svn-status-custom-hide-function
@@ -2151,21 +2266,51 @@
     (svn-status-update-buffer)))
 
 (defun svn-status-parse-info-result ()
-  (let ((url))
+  "Parse the result from the svn info command.
+Put the found values in `svn-status-base-info'."
+  (let ((url)
+        (repository-root))
     (save-excursion
       (set-buffer "*svn-process*")
       (goto-char (point-min))
       (let ((case-fold-search t))
-        (search-forward "url: "))
-      (setq url (buffer-substring-no-properties (point) (svn-point-at-eol))))
-    (setq svn-status-base-info `((url ,url)))))
+        (search-forward "url: ")
+        (setq url (buffer-substring-no-properties (point) (svn-point-at-eol)))
+        (search-forward "repository root: ")
+        (setq repository-root (buffer-substring-no-properties (point) (svn-point-at-eol)))))
+    (setq svn-status-base-info `((url ,url) (repository-root ,repository-root)))))
 
 (defun svn-status-base-info->url ()
+  "Extract the url part from `svn-status-base-info'."
   (if svn-status-base-info
       (cadr (assoc 'url svn-status-base-info))
     ""))
 
+(defun svn-status-base-info->repository-root ()
+  "Extract the repository-root part from `svn-status-base-info'."
+  (if svn-status-base-info
+      (cadr (assoc 'repository-root svn-status-base-info))
+    ""))
+
+(defun svn-status-ls (path)
+  "Run svn ls PATH."
+  (interactive "sPath for svn ls: ")
+  (svn-run t t 'ls "ls" path))
+
+(defun svn-status-ls-branches ()
+  "Show, which branches exist for the actual working copy.
+Note: this command assumes the proposed standard svn repository layout."
+  (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.
+This command toggles between
+* editing the next command parameters (EditCmd)
+* editing all all command parameters (EditCmd#)
+* don't edit the command parameters ()
+The string in parentheses is shown in the status line to show the state."
   (interactive)
   (cond ((or reset (eq svn-status-edit-svn-command 'sticky))
          (setq svn-status-edit-svn-command nil))
@@ -2257,8 +2402,19 @@
 (defun svn-status-get-file-list-names (use-marked-files)
   (mapcar 'svn-status-line-info->filename (svn-status-get-file-list use-marked-files)))
 
+(defun svn-status-get-file-information ()
+  "Find out about the file under point.
+The result may be parsed with the various `svn-status-line-info->...' functions.
+When called from a *svn-status* buffer, do the same as `svn-status-get-file-information'.
+When called from a file buffer provide a structure that contains the filename."
+  (cond ((eq major-mode 'svn-status-mode)
+         (svn-status-get-file-information))
+        (t
+         ;; a fake strukture that contains the buffername for the current buffer
+         (list '(nil nil) 32 nil (buffer-file-name (current-buffer)) 0 0 "" nil nil nil nil))))
+
 (defun svn-status-select-line ()
-	"Return information about the file under point.
+    "Return information about the file under point.
 \(Only used for debugging\)"
   (interactive)
   (let ((info (svn-status-get-line-information)))
@@ -2268,7 +2424,7 @@
       (message "No file on this line"))))
 
 (defun svn-status-ensure-cursor-on-file ()
-	"Raise an error unless point is on a valid file."
+    "Raise an error unless point is on a valid file."
   (unless (svn-status-get-line-information)
     (error "No file on the current line")))
 
@@ -2354,10 +2510,12 @@
                                        (file-name-as-directory file-name))))
          (newcursorpos-fname)
          (i-fname)
+         (first-line t)
          (current-line svn-start-of-file-list-line-number))
     (while st-info
-      (when (svn-status-line-info->is-visiblep (car st-info))
-        (setq current-line (1+ current-line)))
+      (when (or (svn-status-line-info->is-visiblep (car st-info)) first-line)
+        (setq current-line (1+ current-line))
+        (setq first-line nil))
       (setq i-fname (svn-status-line-info->filename (car st-info)))
       (when (or (string= file-name i-fname)
                 (string-match sub-file-regexp i-fname))
@@ -2557,6 +2715,7 @@
   (when (string= (buffer-name) svn-status-buffer-name)
     (delete-other-windows))
   (pop-to-buffer "*svn-process*")
+  (svn-process-mode)
   (when svn-status-wash-control-M-in-process-buffers
     (svn-status-remove-control-M))
   (when scroll-to-top
@@ -2588,6 +2747,8 @@
               (insert-buffer-substring "*svn-process*")
               (when scroll-to-top
                 (goto-char (point-min))))
+            (when (eq window-mode t) ;; *svn-info* buffer
+              (svn-info-mode))
             (other-window 1))
         (svn-status-show-process-buffer-internal scroll-to-top)))))
 
@@ -2619,12 +2780,15 @@
   (svn-status-create-arg-file svn-status-temp-arg-file "" (svn-status-marked-files) "")
   (svn-run t t 'info "info" "--targets" svn-status-temp-arg-file))
 
-;; Todo: add possiblity to specify the revision
-(defun svn-status-blame ()
-  "Run `svn blame' on the current file."
-  (interactive)
-  ;;(svn-run t t 'blame "blame" "-r" "BASE" (svn-status-line-info->filename (svn-status-get-line-information))))
-  (svn-run t t 'blame "blame" (svn-status-line-info->filename (svn-status-get-line-information))))
+(defun svn-status-blame (revision)
+  "Run `svn blame' on the current file.
+When called with a prefix argument, ask the user for the REVISION to use.
+When called from a file buffer, go to the current line in the resulting blame output."
+  (interactive "P")
+  (when current-prefix-arg
+    (setq revision (svn-status-read-revision-string "Blame for version: " "BASE")))
+  (unless revision (setq revision "BASE"))
+  (svn-run t t 'blame "blame" "-r" revision (svn-status-line-info->filename (svn-status-get-file-information))))
 
 (defun svn-status-show-svn-diff (arg)
   "Run `svn diff' on the current file.
@@ -2707,11 +2871,12 @@
 (defun svn-status-activate-diff-mode ()
   "Show the *svn-process* buffer, using the diff-mode."
   (svn-status-show-process-output 'diff t)
-  (save-excursion
-    (set-buffer svn-status-last-output-buffer-name)
-    (svn-status-diff-mode)
-    (setq buffer-read-only t)))
-
+  (let ((working-directory default-directory))
+    (save-excursion
+      (set-buffer svn-status-last-output-buffer-name)
+      (setq default-directory working-directory)
+      (svn-status-diff-mode)
+      (setq buffer-read-only t))))
 
 (define-derived-mode svn-status-diff-mode fundamental-mode "svn-diff"
   "Major mode to display svn diffs. Derives from `diff-mode'.
@@ -2875,12 +3040,14 @@
           (svn-run t t 'rm "rm" "--force" "--targets" svn-status-temp-arg-file)
         (svn-run t t 'rm "rm" "--targets" svn-status-temp-arg-file)))))
 
-(defun svn-status-update-cmd ()
-  "Run svn update."
-  (interactive)
-  (message "Running svn-update for %s" default-directory)
-  ;TODO: use file names also
-  (svn-run t t 'update "update"))
+(defun svn-status-update-cmd (arg)
+  "Run svn update.
+When called with a prefix argument, ask the user for the revision to update to."
+  (interactive "P")
+  (let ((rev (when arg (svn-status-read-revision-string (format "Directory: %s: Run svn update -r " default-directory)))))
+    (message "Running svn-update for %s" default-directory)
+    ;;TODO: use file names also??
+    (svn-run t t 'update "update" (when rev (list "-r" rev)))))
 
 (defun svn-status-commit ()
   "Commit selected files.
@@ -3016,7 +3183,7 @@
                         (delete-region (svn-point-at-bol) (svn-point-at-eol))
                         (svn-insert-line-in-status-buffer (car st-info))
                         (delete-char 1))
-                    (message "psvn: file %s not found, updating %s buffer content..."
+                    (svn-status-message 3 "psvn: file %s not found, updating %s buffer content..."
                              i-fname svn-status-buffer-name)
                     (svn-status-update-buffer))))))
           (setq st-info (cdr st-info))))))
@@ -3776,6 +3943,42 @@
     (setq svn-log-edit-update-log-entry rev)))
 
 ;; --------------------------------------------------------------------------------
+;; svn-info-mode
+;; --------------------------------------------------------------------------------
+(defvar svn-info-mode-map () "Keymap used in `svn-info-mode' buffers.")
+(put 'svn-info-mode-map 'risky-local-variable t) ;for Emacs 20.7
+
+(when (not svn-info-mode-map)
+  (setq svn-info-mode-map (make-sparse-keymap))
+  (define-key svn-info-mode-map [?q] 'bury-buffer))
+
+(defun svn-info-mode ()
+  "Major Mode to view informative output from svn."
+  (interactive)
+  (kill-all-local-variables)
+  (use-local-map svn-info-mode-map)
+  (setq major-mode 'svn-info-mode)
+  (setq mode-name "svn-info"))
+
+;; --------------------------------------------------------------------------------
+;; svn-process-mode
+;; --------------------------------------------------------------------------------
+(defvar svn-process-mode-map () "Keymap used in `svn-process-mode' buffers.")
+(put 'svn-process-mode-map 'risky-local-variable t) ;for Emacs 20.7
+
+(when (not svn-process-mode-map)
+  (setq svn-process-mode-map (make-sparse-keymap))
+  (define-key svn-process-mode-map [?q] 'bury-buffer))
+
+(defun svn-process-mode ()
+  "Major Mode to view process output from svn."
+  (interactive)
+  (kill-all-local-variables)
+  (use-local-map svn-process-mode-map)
+  (setq major-mode 'svn-process-mode)
+  (setq mode-name "svn-process"))
+
+;; --------------------------------------------------------------------------------
 ;; svn status persistent options
 ;; --------------------------------------------------------------------------------
 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/subversion/devel/sources,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- sources	4 Apr 2006 09:21:08 -0000	1.21
+++ sources	2 Jun 2006 08:48:47 -0000	1.22
@@ -1 +1 @@
-6d650e918255596ef8b74255b3938547  subversion-1.3.1.tar.gz
+f790c49c219b4196e37ebfa71ab797d5  subversion-1.3.2.tar.gz


Index: subversion.spec
===================================================================
RCS file: /cvs/dist/rpms/subversion/devel/subversion.spec,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- subversion.spec	6 Apr 2006 12:17:01 -0000	1.74
+++ subversion.spec	2 Jun 2006 08:48:47 -0000	1.75
@@ -1,5 +1,5 @@
 # set to zero to avoid running test suite
-%define make_check 1
+%define make_check 0
 
 %define with_java 1
 
@@ -7,11 +7,12 @@
 %define jdk_path /usr/lib/jvm/java
 
 %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+%define ruby_sitelibdir %(%{_bindir}/ruby -rrbconfig -e 'print Config::CONFIG.fetch(%q(sitelibdir))')
 
 Summary: Modern Version Control System designed to replace CVS
 Name: subversion
-Version: 1.3.1
-Release: 4
+Version: 1.3.2
+Release: 2
 License: BSD
 Group: Development/Tools
 URL: http://subversion.tigris.org/
@@ -137,6 +138,7 @@
 
 make pure_vendor_install -C subversion/bindings/swig/perl/native \
         PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
+install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/subversion
 
 # Add subversion.conf configuration file into httpd/conf.d directory.
 install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
@@ -159,7 +161,7 @@
 rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsvn_swig_*.{so,la,a}
 
 # Remove unnecessary ruby libraries
-rm -f ${RPM_BUILD_ROOT}%{_libdir}/site_ruby/*/*/svn/ext/*.*a
+rm -f ${RPM_BUILD_ROOT}%{ruby_sitelibdir}/*/svn/ext/*.*a
 
 # Trim what goes in docdir
 rm -rf tools/*/*.in tools/test-scripts
@@ -205,6 +207,7 @@
 %{pydir}/libsvn
 %{_datadir}/emacs/site-lisp
 %{_datadir}/xemacs/site-packages/lisp
+%dir %{_sysconfdir}/subversion
 %exclude %{_libdir}/libsvn_swig_perl*
 %exclude %{_libdir}/libsvn_swig_ruby*
 %exclude %{_mandir}/man*/*::*
@@ -235,8 +238,8 @@
 %files ruby
 %defattr(-,root,root,-)
 %{_libdir}/libsvn_swig_ruby*
-%{_libdir}/site_ruby/*/svn
-%{_libdir}/site_ruby/*/*-linux/svn
+%{ruby_sitelibdir}/svn
+%{ruby_sitelibdir}/*-linux/svn
 
 %if %{with_java}
 %files javahl
@@ -246,6 +249,12 @@
 %endif
 
 %changelog
+* Fri Jun  2 2006 Joe Orton <jorton at redhat.com> 1.3.2-2
+- update to 1.3.2
+- fix Ruby sitelibdir (Garrick Staples, #191611)
+- own /etc/subversion (#189071)
+- update to psvn.el r19857
+
 * Thu Apr  6 2006 Joe Orton <jorton at redhat.com> 1.3.1-4
 - move libsvn_swig_ruby* back to subversion-ruby
 




More information about the fedora-cvs-commits mailing list