564 Samuel Bronson 2009-08-06
Fix `bzr-delta' to support strings, like the `dvc-delta' docs say it should.
563 Samuel Bronson 2009-08-06
Remove redundant `bzr-revision-id-to-string' calls from `bzr-delta'.
562 Samuel Bronson 2009-08-06
Replace some occurences of (toggle-read-only 1) with (setq buffer-read-only
t).
561 Samuel Bronson 2009-08-06
Use dvc-prepare-changes-buffer to prepare the buffer for
`dvc-dvc-file-diff'.
560 Samuel Bronson 2009-08-06
Add missing alias `xdarcs-dvc-log-edit-done' for `xdarcs-log-edit-done'.
559 Samuel Bronson 2009-08-06
Fix some issues identified by checkdoc.
558 Samuel Bronson 2009-08-06
Add/tweak some debug declarations in dvc-core.el and dvc-lisp.el.
557 Samuel Bronson 2009-08-06
Remove inapt use of user command `beginning-of-buffer' from bzr.el.
556 Samuel Bronson 2009-07-15
bzr-export-via-email: Use [MERGE] instead of [PATCH] in subject lines.
This is necessary for tools like Bundle Buggy to notice our merge requests.
[Actually, it isn't ... but someone important told me it was at the time...]
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email protected]
# target_branch: bzr+ssh://bazaar.launchpad.net/~dvc-dev/dvc/trunk/
# testament_sha1: 8dd858300b8ce5a787a445f604171ada99df373d
# timestamp: 2009-08-06 17:53:24 -0400
# base_revision_id: [email protected]
#
# Begin patch
=== modified file 'lisp/bzr.el'
--- lisp/bzr.el 2009-06-09 19:04:11 +0000
+++ lisp/bzr.el 2009-08-06 21:52:31 +0000
@@ -371,23 +371,29 @@
TODO: dont-switch is currently ignored."
(dvc-trace "bzr-delta: base=%S, modified=%S; dir=%S" base modified default-directory)
- (let* ((base-str (bzr-revision-id-to-string base))
- (modified-str (bzr-revision-id-to-string modified))
+ (let* ((base-str (if (stringp base)
+ base
+ (bzr-revision-id-to-string base)))
+ (modified-str (if (stringp modified)
+ modified
+ (bzr-revision-id-to-string modified)))
(extra-string (if extra-arg (format ", %s" extra-arg) ""))
(buffer (dvc-prepare-changes-buffer
base modified
'revision-diff
- (concat (bzr-revision-id-to-string base)
+ (concat base-str
".."
- (bzr-revision-id-to-string modified)
+ modified-str
extra-string)
'bzr)))
(when dvc-switch-to-buffer-first
(dvc-switch-to-buffer buffer))
(let ((default-directory
- (cond ((bzr-revision-id-is-local modified)
+ (cond ((and (consp modified)
+ (bzr-revision-id-is-local modified))
(bzr-revision-id-location modified))
- ((bzr-revision-id-is-local base)
+ ((and (consp base)
+ (bzr-revision-id-is-local base))
(bzr-revision-id-location base))
(t default-directory))))
(dvc-run-dvc-async
@@ -1056,7 +1062,7 @@
:finished
(dvc-capturing-lambda (output error status arguments)
(with-current-buffer output
- (beginning-of-buffer)
+ (goto-char (point-min))
(bzr-parse-info-key kname)))))
(defun bzr-testament ()
@@ -1328,7 +1334,9 @@
(mml-attach-file file-name "text/x-patch")
(goto-char (point-min))
(mail-position-on-field "Subject")
- (insert (concat "[PATCH] " summary))))
+ ;; Bundle Buggy, and possibly other tools, require [MERGE] in the
+ ;; subject line in order to detect Bzr merge requests.
+ (insert (concat "[MERGE] " summary))))
;; provide 'bzr before running bzr-ignore-setup, because bzr-ignore-setup
;; loads a file and this triggers the loading of bzr.
=== modified file 'lisp/dvc-core.el'
--- lisp/dvc-core.el 2008-07-06 19:50:22 +0000
+++ lisp/dvc-core.el 2009-08-06 21:00:50 +0000
@@ -152,6 +152,7 @@
a mouse click event.
Thew new function moves the point to the place where mouse is clicked
then invoke FUNCTION."
+ (declare (debug (&define name :name -by-mouse)))
`(defun ,(intern (concat (symbol-name function) "-by-mouse")) (event)
,(concat "`" (symbol-name function) "'" " with mouse interface.")
(interactive "e")
@@ -389,7 +390,7 @@
"Execute a body of code with keywords bound.
Each keyword listed in KEYWORDS is bound to its value from PLIST, then
BODY is evaluated."
- (declare (indent 1) (debug (sexp sexp body)))
+ (declare (indent 1) (debug (sexp form body)))
(flet ((keyword-to-symbol (keyword)
(intern (substring (symbol-name keyword) 1))))
(let ((keyword (make-symbol "keyword"))
@@ -932,6 +933,7 @@
"Define a FUNCTION for switching to the buffer associated with some event.
ACCESSOR is a function for retrieving the appropriate buffer from a
`dvc-event' structure."
+ (declare (debug (&define name symbolp)))
`(defun ,function ()
"In a log buffer, pops to the output or error buffer corresponding to the
process at point"
=== modified file 'lisp/dvc-diff.el'
--- lisp/dvc-diff.el 2009-01-09 16:43:44 +0000
+++ lisp/dvc-diff.el 2009-08-06 21:24:12 +0000
@@ -58,6 +58,8 @@
PATH must match mode in `dvc-buffer-type-alist' for TYPE.
+DVC is the backend in effect.
+
TYPE and PATH are passed to `dvc-get-buffer-create'."
(with-current-buffer
(dvc-get-buffer-create dvc type path)
@@ -292,7 +294,7 @@
(setq dvc-fileinfo-ewoc (ewoc-create 'dvc-fileinfo-printer))
(setq dvc-buffer-marked-file-list nil)
(dvc-install-buffer-menu)
- (toggle-read-only 1)
+ (setq buffer-read-only t)
(set-buffer-modified-p nil))
(dvc-add-uniquify-directory-mode 'dvc-diff-mode)
@@ -339,7 +341,7 @@
(diff-goto-source other-file))))
(defun dvc-diff-scroll-or-diff (up-or-down)
- "If file-diff buffer is visible, scroll. Otherwise, show it."
+ "If file-diff buffer is visible, call UP-OR-DOWN. Otherwise, show it."
(let ((file (dvc-get-file-info-at-point)))
(unless file
(error "No file at point."))
@@ -358,7 +360,7 @@
(defun dvc-diff-diff-or-list ()
"Jump between list entry and corresponding diff hunk.
When in the list, jump to the corresponding
-diff. When on a diff, jump to the corresponding entry in the list."
+diff. When on a diff, jump to the corresponding entry in the list."
(interactive)
(if (dvc-diff-in-ewoc-p)
(let ((fileinfo (dvc-fileinfo-current-fileinfo)))
@@ -405,9 +407,9 @@
(dvc-fileinfo-next))))))
(defun dvc-diff-mark-group (&optional unmark)
- "Mark a group of files.
+ "Mark (or UNMARK) a group of files.
-Must be called with the cursor on a 'message ewoc entry. Marks all
+Must be called with the cursor on a 'message ewoc entry. Marks all
files until the end of the ewoc, or the next ewoc entry which is not
a 'file."
(if (not (dvc-diff-in-ewoc-p))
@@ -446,7 +448,7 @@
(defun dvc-diff-unmark-file (&optional up)
"Unmark the file under point.
-If on a message, unmark the group to the next message. If
+If on a message, unmark the group to the next message. If
optional UP, move to previous file first; otherwise move to next
file after."
(interactive)
@@ -534,7 +536,7 @@
(ediff-jump-to-difference hunk))))))
(defun dvc-diff-log-single (&optional last-n)
- "Show log for current file, LAST-N entries (default
+ "Show log for current file, LAST-N entries. (default
`dvc-log-last-n'; all if nil). LAST-N may be specified
interactively."
(interactive (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) dvc-log-last-n)))
@@ -642,7 +644,7 @@
(with-current-buffer changes-buffer
(ewoc-set-hf dvc-fileinfo-ewoc dvc-header footer)
(if root (cd root)))))))
- (toggle-read-only 1)
+ (setq buffer-read-only t)
(if (progn (goto-char (point-min))
(re-search-forward "^---" nil t))
(when (or global-font-lock-mode font-lock-mode)
@@ -803,7 +805,7 @@
1)))))
(with-current-buffer pristine-buffer
(set-buffer-modified-p nil)
- (toggle-read-only 1)
+ (setq buffer-read-only t)
(let ((buffer-file-name file))
(set-auto-mode t)))
(dvc-ediff-buffers pristine-buffer file-buffer))))
@@ -822,10 +824,10 @@
(let* ((dvc (or (car base) (dvc-current-active-dvc)))
(base (or base `(,dvc (last-revision ,file 1))))
(modified (or modified `(,dvc (local-tree ,file))))
- (diff-buffer (dvc-get-buffer-create
- dvc
- 'file-diff
- (dvc-uniquify-file-name file)))
+ (diff-buffer (dvc-prepare-changes-buffer
+ base
+ modified
+ 'file-diff file 'bzr))
(base-buffer
(dvc-revision-get-file-in-buffer file base))
(modified-buffer
@@ -857,9 +859,8 @@
(delete-file base-file)
(delete-file modified-file)
(message "")
- (toggle-read-only 1)
(goto-char (point-min))
- (diff-mode)))
+ (setq buffer-read-only t)))
(defun dvc-ediff-startup-hook ()
"Passed as a startup hook for ediff.
=== modified file 'lisp/dvc-lisp.el'
--- lisp/dvc-lisp.el 2008-07-06 19:50:22 +0000
+++ lisp/dvc-lisp.el 2009-08-06 21:00:50 +0000
@@ -37,6 +37,8 @@
;;
;; Overhauled in Aug 2007 by Michael Olson
+(autoload 'edebug-unwrap "edebug")
+
(defvar dvc-gensym-counter 0)
(defun dvc-gensym (&optional prefix)
@@ -67,7 +69,7 @@
This is used by `dvc-capturing-lambda'."
(cond ((atom l) l)
((eq (car l) 'capture)
- (let ((sym (cadr l)))
+ (let ((sym (edebug-unwrap (cadr l))))
(unless (symbolp sym)
(error "Expected a symbol in capture statement: %S" sym))
(let ((g (car (rassq sym captured-values))))
@@ -135,7 +137,8 @@
(funcall l 'dummy-arg)))
=> (dynamic-x lexical-y dummy-arg)"
- (declare (indent 1) (debug (sexp body)))
+ (declare (indent 1)
+ (debug (sexp body)))
(let* ((captured-values nil)
(body (dvc-capturing-lambda-helper body)))
`(list 'lambda ',args
=== modified file 'lisp/xdarcs-dvc.el'
--- lisp/xdarcs-dvc.el 2008-03-08 09:37:48 +0000
+++ lisp/xdarcs-dvc.el 2009-08-06 21:14:45 +0000
@@ -40,6 +40,9 @@
(defalias 'xdarcs-dvc-tree-root 'xdarcs-tree-root)
;;;###autoload
+(defalias 'xdarcs-dvc-log-edit-done 'xdarcs-log-edit-done)
+
+;;;###autoload
(defalias 'xdarcs-dvc-command-version 'xdarcs-command-version)
;;;###autoload
=== modified file 'lisp/xhg-annotate.el'
--- lisp/xhg-annotate.el 2009-03-06 20:52:16 +0000
+++ lisp/xhg-annotate.el 2009-08-06 21:06:20 +0000
@@ -81,7 +81,7 @@
(defvar xhg-annotate-current-buffer nil)
(defun xhg-annotate-get-rev-num-on-line ()
- "Extract revision number on line in xhg-annotate buffer."
+ "Extract revision number on line in `xhg-annotate' buffer."
(let ((cur-line (buffer-substring (point-at-bol) (point-at-eol)))
(rev-num))
(when (string-match "^ *[0-9]*" cur-line)
@@ -90,8 +90,7 @@
;;;###autoload
(defun xhg-annotate-show-rev-number-log ()
- "Show xhg-log output corresponding to line at point in
-xhg-annotate buffer."
+ "Show `xhg-log' corresponding to current line in `xhg-annotate' buffer."
(interactive)
(let ((rev-number (xhg-annotate-get-rev-num-on-line))
(fname xhg-annotate-current-buffer))
# Begin bundle
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
_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev