[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v |
Date: |
Wed, 09 Apr 2008 03:38:41 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Dan Nicolaescu <dann> 08/04/09 03:38:40
Index: vc-svn.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-svn.el,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -b -r1.75 -r1.76
--- vc-svn.el 31 Mar 2008 15:36:54 -0000 1.75
+++ vc-svn.el 9 Apr 2008 03:38:38 -0000 1.76
@@ -386,27 +386,42 @@
(defun vc-svn-modify-change-comment (files rev comment)
"Modify the change comments for a specified REV.
You must have ssh access to the repository host, and the directory Emacs
-uses locally for temp files must also be writeable by you on that host."
- (vc-do-command nil 0 "svn" nil "info")
- (set-buffer "*vc*")
- (goto-char (point-min))
- (unless (re-search-forward "Repository Root:
svn\\+ssh://\\([^/]+\\)\\(/.*\\)" nil t)
- (error "Repository information is unavailable."))
- (let* ((tempfile (make-temp-file user-mail-address))
- (host (match-string 1))
- (directory (match-string 2))
- (remotefile (concat host ":" tempfile)))
+uses locally for temp files must also be writeable by you on that host.
+This is only supported if the repository access method is either file://
+or svn+ssh://."
+ (let (tempfile host remotefile directory fileurl-p)
(with-temp-buffer
- (insert comment)
- (write-region (point-min) (point-max) tempfile))
+ (vc-do-command (current-buffer) 0 "svn" nil "info")
+ (goto-char (point-min))
+ (unless (re-search-forward "Repository Root:
\\(file://\\(/.*\\)\\)\\|\\(svn\\+ssh://\\([^/]+\\)\\(/.*\\)\\)" nil t)
+ (error "Repository information is unavailable"))
+ (if (match-string 1)
+ (progn
+ (setq fileurl-p t)
+ (setq directory (match-string 2)))
+ (setq host (match-string 4))
+ (setq directory (match-string 5))
+ (setq remotefile (concat host ":" tempfile))))
+ (with-temp-file (setq tempfile (make-temp-file user-mail-address))
+ (insert comment))
+ (if fileurl-p
+ ;; Repository Root is a local file.
+ (progn
+ (unless (vc-do-command
+ nil 0 "svnadmin" nil
+ "setlog" "--bypass-hooks" directory
+ "-r" rev (format "%s" tempfile))
+ (error "Log edit failed"))
+ (delete-file tempfile))
+
+ ;; Remote repository, using svn+ssh.
(unless (vc-do-command nil 0 "scp" nil "-q" tempfile remotefile)
(error "Copy of comment to %s failed" remotefile))
- (unless (vc-do-command nil 0 "ssh" nil
- "-q" host
+ (unless (vc-do-command
+ nil 0 "ssh" nil "-q" host
(format "svnadmin setlog --bypass-hooks %s -r %s %s;
rm %s"
directory rev tempfile tempfile))
- (error "Log edit failed"))
- ))
+ (error "Log edit failed")))))
;;;
;;; History functions
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v,
Dan Nicolaescu <=
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/04/10
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Stefan Monnier, 2008/04/11
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Stefan Monnier, 2008/04/11
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Stefan Monnier, 2008/04/29