Subject: [PATCH] Properly operate on current fileset revision in vc-hg-print-log
From: Spencer Baugh <[email-masked]>
To: [email-masked]
Date: Wed, 02 Oct 2024 15:21:20 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Tags: patch

If hg log doesn't receive a -r argument, it logs starting from the
most recent commit created anywhere ("tip").  But vc-print-log is
supposed to log starting from the working revision (".").  Those are
usually the same, but not always; the current fileset might not even
exist in "tip".  Fix this by just logging "." if no START-REVISION is
passed to vc-hg-print-log.

* lisp/vc/vc-hg.el (vc-hg-print-log): If start-revision is nil,
reliably log the working revision.

In GNU Emacs 29.2.50 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.15.12, Xaw scroll bars) of 2024-09-23 built on
 igm-qws-u22796a
Repository revision: 340ed90ce4518de238610461047b6c8767ca0cdc
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Rocky Linux 8.10 (Green Obsidian)

Configured using:
 'configure --with-x-toolkit=lucid --without-gpm --without-gconf
 --without-selinux --without-imagemagick --with-modules --with-gif=no
 --with-tree-sitter --with-native-compilation=aot
 PKG_CONFIG_PATH=/usr/local/home/garnish/libtree-sitter/0.22.6-1/lib/pkgconfig/'

From 2af767a869fd9ac5b959bc5382ac09e38fc735af Mon Sep 17 00:00:00 2001
From: Spencer Baugh <[email-masked]>
Date: Wed, 2 Oct 2024 15:20:31 -0400
Subject: [PATCH] Properly operate on current fileset revision in
 vc-hg-print-log

If hg log doesn't receive a -r argument, it logs starting from the
most recent commit created anywhere ("tip").  But vc-print-log is
supposed to log starting from the working revision (".").  Those are
usually the same, but not always; the current fileset might not even
exist in "tip".  Fix this by just logging "." if no START-REVISION is
passed to vc-hg-print-log.

* lisp/vc/vc-hg.el (vc-hg-print-log): If start-revision is nil,
reliably log the working revision.
---
 lisp/vc/vc-hg.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index c0afb225871..58a2df3469f 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -408,8 +408,8 @@ vc-hg-print-log
     (with-current-buffer
 	buffer
       (apply #'vc-hg-command buffer 'async files "log"
+             (format "-r%s:0" (or start-revision "."))
 	     (nconc
-	      (when start-revision (list (format "-r%s:0" start-revision)))
 	      (when limit (list "-l" (format "%s" limit)))
               (when (eq vc-log-view-type 'with-diff)
                 (list "-p"))
-- 
2.39.3