diff options
| author | Dan Nicolaescu | 2009-11-16 20:36:06 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 2009-11-16 20:36:06 +0000 |
| commit | 48b27575344c9352bd4eab19fa1a17f97fb21dda (patch) | |
| tree | 6b1b79cdf6fa63557698544af9d28598531ea556 | |
| parent | d3e971853d5d29230315e08421a3ccd6870886b3 (diff) | |
| download | emacs-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/NEWS | 7 | ||||
| -rw-r--r-- | lisp/ChangeLog | 12 | ||||
| -rw-r--r-- | lisp/vc-cvs.el | 3 | ||||
| -rw-r--r-- | lisp/vc-git.el | 3 | ||||
| -rw-r--r-- | lisp/vc-rcs.el | 3 | ||||
| -rw-r--r-- | lisp/vc-sccs.el | 3 | ||||
| -rw-r--r-- | lisp/vc.el | 30 |
7 files changed, 53 insertions, 8 deletions
| @@ -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 |
| 202 | vc-root-print-log once they stabilize. | 202 | vc-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 | ||
| 205 | by default anymore. The number of entries shown can be chosen | ||
| 206 | interactively with a prefix argument, by customizing | ||
| 207 | vc-log-show-limit. The log buffer display buttons that can be used | ||
| 208 | to change the number of entries shown. | ||
| 209 | RCS, 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, |
| 205 | it displays the old names for the files and it can show logs/diffs for | 212 | it displays the old names for the files and it can show logs/diffs for |
| 206 | the corresponding lines. Currently only Git and Mercurial take | 213 | the 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 @@ | |||
| 1 | 2009-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 | |||
| 1 | 2009-11-16 Michael Albinus <michael.albinus@gmx.de> | 13 | 2009-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." | |||
| 564 | directory the operation is applied to all registered files beneath it." | 564 | directory 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. |
| 699 | Zero means unlimited. | 701 | Zero means unlimited. |
| 700 | Not all VC backends are able to support this feature." | 702 | Not 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) |