aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2009-11-16 20:36:06 +0000
committerDan Nicolaescu2009-11-16 20:36:06 +0000
commit48b27575344c9352bd4eab19fa1a17f97fb21dda (patch)
tree6b1b79cdf6fa63557698544af9d28598531ea556
parentd3e971853d5d29230315e08421a3ccd6870886b3 (diff)
downloademacs-48b27575344c9352bd4eab19fa1a17f97fb21dda.tar.gz
emacs-48b27575344c9352bd4eab19fa1a17f97fb21dda.zip
* vc.el (vc-log-show-limit): Default to 2000.
(vc-print-log-internal): Insert buttons to request more entries when limiting the output. * vc-sccs.el (vc-sccs-print-log): * vc-rcs.el (vc-rcs-print-log): * vc-cvs.el (vc-cvs-print-log): * vc-git.el (vc-git-print-log): Return 'limit-unsupported when LIMIT is non-nil.
-rw-r--r--etc/NEWS7
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/vc-cvs.el3
-rw-r--r--lisp/vc-git.el3
-rw-r--r--lisp/vc-rcs.el3
-rw-r--r--lisp/vc-sccs.el3
-rw-r--r--lisp/vc.el30
7 files changed, 53 insertions, 8 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 63096f43859..7fbb7d2b63e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -201,6 +201,13 @@ file.
201*** FIXME: add info about the new VC functions: vc-root-diff and 201*** FIXME: add info about the new VC functions: vc-root-diff and
202vc-root-print-log once they stabilize. 202vc-root-print-log once they stabilize.
203 203
204*** The log functions (C-x v l and C-x v L) do not show the full log
205by default anymore. The number of entries shown can be chosen
206interactively with a prefix argument, by customizing
207vc-log-show-limit. The log buffer display buttons that can be used
208to change the number of entries shown.
209RCS, SCCS, CVS and Git do not support this feature.
210
204*** vc-annotate supports annotations through file copies and renames, 211*** vc-annotate supports annotations through file copies and renames,
205it displays the old names for the files and it can show logs/diffs for 212it displays the old names for the files and it can show logs/diffs for
206the corresponding lines. Currently only Git and Mercurial take 213the corresponding lines. Currently only Git and Mercurial take
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fe04aeec167..67a56445aff 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,15 @@
12009-11-16 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * vc.el (vc-log-show-limit): Default to 2000.
4 (vc-print-log-internal): Insert buttons to request more entries
5 when limiting the output.
6
7 * vc-sccs.el (vc-sccs-print-log):
8 * vc-rcs.el (vc-rcs-print-log):
9 * vc-cvs.el (vc-cvs-print-log):
10 * vc-git.el (vc-git-print-log): Return 'limit-unsupported when
11 LIMIT is non-nil.
12
12009-11-16 Michael Albinus <michael.albinus@gmx.de> 132009-11-16 Michael Albinus <michael.albinus@gmx.de>
2 14
3 * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Raise only an 15 * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Raise only an
diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el
index 887804689d4..39125328d0c 100644
--- a/lisp/vc-cvs.el
+++ b/lisp/vc-cvs.el
@@ -505,7 +505,8 @@ Will fail unless you have administrative privileges on the repo."
505 (if (vc-stay-local-p files 'CVS) 'async 0) 505 (if (vc-stay-local-p files 'CVS) 'async 0)
506 files "log") 506 files "log")
507 (with-current-buffer buffer 507 (with-current-buffer buffer
508 (vc-exec-after (vc-rcs-print-log-cleanup)))) 508 (vc-exec-after (vc-rcs-print-log-cleanup)))
509 (when limit 'limit-unsupported))
509 510
510(defun vc-cvs-comment-history (file) 511(defun vc-cvs-comment-history (file)
511 "Get comment history of a file." 512 "Get comment history of a file."
diff --git a/lisp/vc-git.el b/lisp/vc-git.el
index c2900dd0b1c..072f708edd7 100644
--- a/lisp/vc-git.el
+++ b/lisp/vc-git.el
@@ -526,7 +526,8 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
526 "--") 526 "--")
527 (vc-git-command buffer 'async files 527 (vc-git-command buffer 'async files
528 "rev-list" ;; "--graph" 528 "rev-list" ;; "--graph"
529 "--pretty" "HEAD" "--")))))) 529 "--pretty" "HEAD" "--")))
530 (when limit 'limit-unsupported))))
530 531
531(defvar log-view-message-re) 532(defvar log-view-message-re)
532(defvar log-view-file-re) 533(defvar log-view-file-re)
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el
index 42e2ec30ccf..38573e412d9 100644
--- a/lisp/vc-rcs.el
+++ b/lisp/vc-rcs.el
@@ -564,7 +564,8 @@ directory the operation is applied to all registered files beneath it."
564directory the operation is applied to all registered files beneath it." 564directory the operation is applied to all registered files beneath it."
565 (vc-do-command (or buffer "*vc*") 0 "rlog" (mapcar 'vc-name (vc-expand-dirs files))) 565 (vc-do-command (or buffer "*vc*") 0 "rlog" (mapcar 'vc-name (vc-expand-dirs files)))
566 (with-current-buffer (or buffer "*vc*") 566 (with-current-buffer (or buffer "*vc*")
567 (vc-rcs-print-log-cleanup))) 567 (vc-rcs-print-log-cleanup))
568 (when limit 'limit-unsupported))
568 569
569(defun vc-rcs-diff (files &optional oldvers newvers buffer) 570(defun vc-rcs-diff (files &optional oldvers newvers buffer)
570 "Get a difference report using RCS between two sets of files." 571 "Get a difference report using RCS between two sets of files."
diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el
index 4c72e3be0c0..2dda128bc14 100644
--- a/lisp/vc-sccs.el
+++ b/lisp/vc-sccs.el
@@ -338,7 +338,8 @@ revert all subfiles."
338(defun vc-sccs-print-log (files buffer &optional shortlog limit) 338(defun vc-sccs-print-log (files buffer &optional shortlog limit)
339 "Get change log associated with FILES." 339 "Get change log associated with FILES."
340 (setq files (vc-expand-dirs files)) 340 (setq files (vc-expand-dirs files))
341 (vc-sccs-do-command buffer 0 "prs" (mapcar 'vc-name files))) 341 (vc-sccs-do-command buffer 0 "prs" (mapcar 'vc-name files))
342 (when limit 'limit-unsupported))
342 343
343(defun vc-sccs-diff (files &optional oldvers newvers buffer) 344(defun vc-sccs-diff (files &optional oldvers newvers buffer)
344 "Get a difference report using SCCS between two filesets." 345 "Get a difference report using SCCS between two filesets."
diff --git a/lisp/vc.el b/lisp/vc.el
index 9c38d98a15a..f58ba6ebab9 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -337,7 +337,9 @@
337;; 337;;
338;; Insert the revision log for FILES into BUFFER. 338;; Insert the revision log for FILES into BUFFER.
339;; If SHORTLOG is true insert a short version of the log. 339;; If SHORTLOG is true insert a short version of the log.
340;; If LIMIT is true insert only insert LIMIT log entries. 340;; If LIMIT is true insert only insert LIMIT log entries. If the
341;; backend does not support limiting the number of entries to show
342;; it should return `limit-unsupported'.
341;; 343;;
342;; - log-view-mode () 344;; - log-view-mode ()
343;; 345;;
@@ -694,7 +696,7 @@ to use -L and sets this variable to remember whether it worked."
694 :type '(choice (const :tag "Work out" nil) (const yes) (const no)) 696 :type '(choice (const :tag "Work out" nil) (const yes) (const no))
695 :group 'vc) 697 :group 'vc)
696 698
697(defcustom vc-log-show-limit 0 699(defcustom vc-log-show-limit 2000
698 "Limit the number of items shown by the VC log commands. 700 "Limit the number of items shown by the VC log commands.
699Zero means unlimited. 701Zero means unlimited.
700Not all VC backends are able to support this feature." 702Not all VC backends are able to support this feature."
@@ -1850,7 +1852,8 @@ Not all VC backends support short logs!")
1850 ;; so that any buffer-local settings in the vc-controlled 1852 ;; so that any buffer-local settings in the vc-controlled
1851 ;; buffer can be accessed by the command. 1853 ;; buffer can be accessed by the command.
1852 (let ((dir-present nil) 1854 (let ((dir-present nil)
1853 (vc-short-log nil)) 1855 (vc-short-log nil)
1856 pl-return)
1854 (dolist (file files) 1857 (dolist (file files)
1855 (when (file-directory-p file) 1858 (when (file-directory-p file)
1856 (setq dir-present t))) 1859 (setq dir-present t)))
@@ -1858,7 +1861,9 @@ Not all VC backends support short logs!")
1858 (not (null (if dir-present 1861 (not (null (if dir-present
1859 (memq 'directory vc-log-short-style) 1862 (memq 'directory vc-log-short-style)
1860 (memq 'file vc-log-short-style))))) 1863 (memq 'file vc-log-short-style)))))
1861 (vc-call-backend backend 'print-log files "*vc-change-log*" vc-short-log limit) 1864
1865 (setq pl-return (vc-call-backend backend 'print-log files "*vc-change-log*"
1866 vc-short-log limit))
1862 (pop-to-buffer "*vc-change-log*") 1867 (pop-to-buffer "*vc-change-log*")
1863 (vc-exec-after 1868 (vc-exec-after
1864 `(let ((inhibit-read-only t) 1869 `(let ((inhibit-read-only t)
@@ -1867,6 +1872,23 @@ Not all VC backends support short logs!")
1867 (set (make-local-variable 'log-view-vc-backend) ',backend) 1872 (set (make-local-variable 'log-view-vc-backend) ',backend)
1868 (set (make-local-variable 'log-view-vc-fileset) ',files) 1873 (set (make-local-variable 'log-view-vc-fileset) ',files)
1869 1874
1875 (when (and ,limit (not (eq 'limit-unsupported pl-return)))
1876 (goto-char (point-max))
1877 (widget-create 'push-button
1878 :notify (lambda (&rest ignore)
1879 (vc-print-log-internal
1880 ',backend ',files ',working-revision (* 2 ,limit)))
1881 :help-echo "Show the log again, and double the number of log entries shown"
1882 "Show 2X entries")
1883 (widget-insert " ")
1884 (widget-create 'push-button
1885 :notify (lambda (&rest ignore)
1886 (vc-print-log-internal
1887 ',backend ',files ',working-revision nil))
1888 :help-echo "Show the log again, showing all entries"
1889 "Show unlimited entries")
1890 (widget-setup))
1891
1870 (shrink-window-if-larger-than-buffer) 1892 (shrink-window-if-larger-than-buffer)
1871 ;; move point to the log entry for the working revision 1893 ;; move point to the log entry for the working revision
1872 (vc-call-backend ',backend 'show-log-entry ',working-revision) 1894 (vc-call-backend ',backend 'show-log-entry ',working-revision)