aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2019-05-19 23:11:27 +0300
committerJuri Linkov2019-05-19 23:11:27 +0300
commit82db17d0d1231c4aa26e837f37428c44a67663ea (patch)
tree086396528dfd2f83657992ddf1bb88e3789f0909
parent1b2b136a17d222892af9c25559e1b4c41de7831c (diff)
downloademacs-82db17d0d1231c4aa26e837f37428c44a67663ea.tar.gz
emacs-82db17d0d1231c4aa26e837f37428c44a67663ea.zip
Publicize behavior of log-view-diff at beginning/end of active region
* lisp/vc/log-view.el (log-view-diff, log-view-diff-changeset): * doc/emacs/maintaining.texi (VC Change Log): Document behavior of log-view-diff at the beginning and the end of the log buffer when the region is active. (Bug#35624) * lisp/vc/vc-git.el (vc-git-print-log): Insert newline at the beginning to enable the feature of diffing with the working revision.
-rw-r--r--doc/emacs/maintaining.texi11
-rw-r--r--lisp/vc/log-view.el14
-rw-r--r--lisp/vc/vc-git.el4
3 files changed, 27 insertions, 2 deletions
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 4986c111030..0fbf91ae613 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1033,6 +1033,7 @@ systems support modifying change comments.
1033Visit the revision indicated at the current line. 1033Visit the revision indicated at the current line.
1034 1034
1035@item d 1035@item d
1036@itemx =
1036Display a diff between the revision at point and the next earlier 1037Display a diff between the revision at point and the next earlier
1037revision, for the specific file. 1038revision, for the specific file.
1038 1039
@@ -1047,6 +1048,16 @@ L}), toggle between showing and hiding the full log entry for the
1047revision at point. 1048revision at point.
1048@end table 1049@end table
1049 1050
1051To compare two arbitrary revisions, activate the region: set the
1052beginning of the region to the line with the first revision and the
1053end of the region to the line with the second revision to compare,
1054then type @kbd{d} or @kbd{=}. When the beginning of the region is on
1055the top line that has no revision, it uses the current working revision
1056as the first revision to compare. When the end of the region is on
1057the bottom non-revision line after the last revision line, then it
1058uses the next earlier revision after the last displayed revision as
1059the second revision to compare.
1060
1050@vindex vc-log-show-limit 1061@vindex vc-log-show-limit
1051Because fetching many log entries can be slow, the 1062Because fetching many log entries can be slow, the
1052@file{*vc-change-log*} buffer displays no more than 2000 revisions by 1063@file{*vc-change-log*} buffer displays no more than 2000 revisions by
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 3389264ce6e..0b57e1d5086 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -585,6 +585,13 @@ point, get the diff between the revision at point and its
585previous revision. Otherwise, get the diff between the revisions 585previous revision. Otherwise, get the diff between the revisions
586where the region starts and ends. 586where the region starts and ends.
587 587
588When the beginning of the region is on the top line that has no revision,
589use the current working revision as the first revision to compare.
590
591When the end of the region is on the bottom non-revision line after
592the last revision line, use the previous revision of the last
593displayed revision as the second revision to compare.
594
588Unlike `log-view-diff-changeset', this function only shows the 595Unlike `log-view-diff-changeset', this function only shows the
589part of the changeset which affected the currently considered 596part of the changeset which affected the currently considered
590file(s)." 597file(s)."
@@ -600,6 +607,13 @@ point, get the diff between the revision at point and its
600previous revision. Otherwise, get the diff between the revisions 607previous revision. Otherwise, get the diff between the revisions
601where the region starts and ends. 608where the region starts and ends.
602 609
610When the beginning of the region is on the top line that has no revision,
611use the current working revision as the first revision to compare.
612
613When the end of the region is on the bottom non-revision line after
614the last revision line, use the previous revision of the last
615displayed revision as the second revision to compare.
616
603Unlike `log-view-diff' this function shows the whole changeset, 617Unlike `log-view-diff' this function shows the whole changeset,
604including changes affecting other files than the currently 618including changes affecting other files than the currently
605considered file(s)." 619considered file(s)."
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 61c13026cc5..b6feb3b8d1e 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1017,8 +1017,8 @@ If LIMIT is a revision string, use it as an end-revision."
1017 ;; If the buffer exists from a previous invocation it might be 1017 ;; If the buffer exists from a previous invocation it might be
1018 ;; read-only. 1018 ;; read-only.
1019 (let ((inhibit-read-only t)) 1019 (let ((inhibit-read-only t))
1020 (with-current-buffer 1020 (with-current-buffer buffer
1021 buffer 1021 (insert "\n")
1022 (apply 'vc-git-command buffer 1022 (apply 'vc-git-command buffer
1023 'async files 1023 'async files
1024 (append 1024 (append