diff options
| author | Xue Fuqiao | 2013-08-04 10:59:08 +0800 |
|---|---|---|
| committer | Xue Fuqiao | 2013-08-04 10:59:08 +0800 |
| commit | 99191b89ff64172740add88e67f163619a07830c (patch) | |
| tree | 828d1ac7c917076703b9d4a3746ff7480bd97f0d /lisp/vc | |
| parent | ab419665caa6e2ad7465cf59ef902cc4ad1d2117 (diff) | |
| parent | 2ad0a067728ccc7f8b32b0c3db1677ca351943fe (diff) | |
| download | emacs-99191b89ff64172740add88e67f163619a07830c.tar.gz emacs-99191b89ff64172740add88e67f163619a07830c.zip | |
Merge from mainline.
Diffstat (limited to 'lisp/vc')
| -rw-r--r-- | lisp/vc/log-view.el | 43 | ||||
| -rw-r--r-- | lisp/vc/vc-dir.el | 2 | ||||
| -rw-r--r-- | lisp/vc/vc-hooks.el | 4 |
3 files changed, 25 insertions, 24 deletions
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el index de103c0cdb6..be985866532 100644 --- a/lisp/vc/log-view.el +++ b/lisp/vc/log-view.el | |||
| @@ -562,19 +562,7 @@ file(s)." | |||
| 562 | (interactive | 562 | (interactive |
| 563 | (list (if (use-region-p) (region-beginning) (point)) | 563 | (list (if (use-region-p) (region-beginning) (point)) |
| 564 | (if (use-region-p) (region-end) (point)))) | 564 | (if (use-region-p) (region-end) (point)))) |
| 565 | (let ((fr (log-view-current-tag beg)) | 565 | (log-view-diff-common beg end)) |
| 566 | (to (log-view-current-tag end))) | ||
| 567 | (when (string-equal fr to) | ||
| 568 | (save-excursion | ||
| 569 | (goto-char end) | ||
| 570 | (log-view-msg-next) | ||
| 571 | (setq to (log-view-current-tag)))) | ||
| 572 | (vc-diff-internal | ||
| 573 | t (list log-view-vc-backend | ||
| 574 | (if log-view-per-file-logs | ||
| 575 | (list (log-view-current-file)) | ||
| 576 | log-view-vc-fileset)) | ||
| 577 | to fr))) | ||
| 578 | 566 | ||
| 579 | (defun log-view-diff-changeset (beg end) | 567 | (defun log-view-diff-changeset (beg end) |
| 580 | "Get the diff between two revisions. | 568 | "Get the diff between two revisions. |
| @@ -589,20 +577,29 @@ considered file(s)." | |||
| 589 | (interactive | 577 | (interactive |
| 590 | (list (if (use-region-p) (region-beginning) (point)) | 578 | (list (if (use-region-p) (region-beginning) (point)) |
| 591 | (if (use-region-p) (region-end) (point)))) | 579 | (if (use-region-p) (region-end) (point)))) |
| 592 | (when (eq (vc-call-backend log-view-vc-backend 'revision-granularity) 'file) | 580 | (log-view-diff-common beg end t)) |
| 581 | |||
| 582 | (defun log-view-diff-common (beg end &optional whole-changeset) | ||
| 583 | (when (and whole-changeset | ||
| 584 | (eq (vc-call-backend log-view-vc-backend 'revision-granularity) | ||
| 585 | 'file)) | ||
| 593 | (error "The %s backend does not support changeset diffs" log-view-vc-backend)) | 586 | (error "The %s backend does not support changeset diffs" log-view-vc-backend)) |
| 594 | (let ((fr (log-view-current-tag beg)) | 587 | (let ((to (log-view-current-tag beg)) |
| 595 | (to (log-view-current-tag end))) | 588 | (fr (log-view-current-tag end))) |
| 596 | (when (string-equal fr to) | 589 | (when (string-equal fr to) |
| 597 | ;; TO and FR are the same, look at the previous revision. | 590 | ;; TO and FR are the same, look at the previous revision. |
| 598 | (setq to (vc-call-backend log-view-vc-backend 'previous-revision nil fr))) | 591 | (setq fr (vc-call-backend log-view-vc-backend 'previous-revision nil fr))) |
| 599 | (vc-diff-internal | 592 | (vc-diff-internal |
| 600 | t | 593 | t (list log-view-vc-backend |
| 601 | ;; We want to see the diff for all the files in the changeset, so | 594 | ;; The value passed here should follow what |
| 602 | ;; pass NIL for the file list. The value passed here should | 595 | ;; `vc-deduce-fileset' returns. If we want to see the |
| 603 | ;; follow what `vc-deduce-fileset' returns. | 596 | ;; diff for all the files in the changeset, pass NIL for |
| 604 | (list log-view-vc-backend nil) | 597 | ;; the file list. |
| 605 | to fr))) | 598 | (unless whole-changeset |
| 599 | (if log-view-per-file-logs | ||
| 600 | (list (log-view-current-file)) | ||
| 601 | log-view-vc-fileset))) | ||
| 602 | fr to))) | ||
| 606 | 603 | ||
| 607 | (provide 'log-view) | 604 | (provide 'log-view) |
| 608 | 605 | ||
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 441b3725968..5ddcfd57748 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -282,7 +282,7 @@ See `run-hooks'." | |||
| 282 | (define-key map "Q" 'vc-dir-query-replace-regexp) | 282 | (define-key map "Q" 'vc-dir-query-replace-regexp) |
| 283 | (define-key map (kbd "M-s a C-s") 'vc-dir-isearch) | 283 | (define-key map (kbd "M-s a C-s") 'vc-dir-isearch) |
| 284 | (define-key map (kbd "M-s a M-C-s") 'vc-dir-isearch-regexp) | 284 | (define-key map (kbd "M-s a M-C-s") 'vc-dir-isearch-regexp) |
| 285 | (define-key map "I" 'vc-dir-ignore) | 285 | (define-key map "G" 'vc-dir-ignore) |
| 286 | 286 | ||
| 287 | ;; Hook up the menu. | 287 | ;; Hook up the menu. |
| 288 | (define-key map [menu-bar vc-dir-mode] | 288 | (define-key map [menu-bar vc-dir-mode] |
diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index 284481ee524..ae9aa0118ae 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el | |||
| @@ -918,6 +918,7 @@ current, and kill the buffer that visits the link." | |||
| 918 | (define-key map "c" 'vc-rollback) | 918 | (define-key map "c" 'vc-rollback) |
| 919 | (define-key map "d" 'vc-dir) | 919 | (define-key map "d" 'vc-dir) |
| 920 | (define-key map "g" 'vc-annotate) | 920 | (define-key map "g" 'vc-annotate) |
| 921 | (define-key map "G" 'vc-ignore) | ||
| 921 | (define-key map "h" 'vc-insert-headers) | 922 | (define-key map "h" 'vc-insert-headers) |
| 922 | (define-key map "i" 'vc-register) | 923 | (define-key map "i" 'vc-register) |
| 923 | (define-key map "l" 'vc-print-log) | 924 | (define-key map "l" 'vc-print-log) |
| @@ -1002,6 +1003,9 @@ current, and kill the buffer that visits the link." | |||
| 1002 | (bindings--define-key map [vc-register] | 1003 | (bindings--define-key map [vc-register] |
| 1003 | '(menu-item "Register" vc-register | 1004 | '(menu-item "Register" vc-register |
| 1004 | :help "Register file set into a version control system")) | 1005 | :help "Register file set into a version control system")) |
| 1006 | (bindings--define-key map [vc-ignore] | ||
| 1007 | '(menu-item "Ignore File..." vc-ignore | ||
| 1008 | :help "Ignore a file under current version control system")) | ||
| 1005 | (bindings--define-key map [vc-dir] | 1009 | (bindings--define-key map [vc-dir] |
| 1006 | '(menu-item "VC Dir" vc-dir | 1010 | '(menu-item "VC Dir" vc-dir |
| 1007 | :help "Show the VC status of files in a directory")) | 1011 | :help "Show the VC status of files in a directory")) |