GNU bug report logs - #62940
29.0.60; vc: no easy way to get diff of all outgoing changes

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Spencer Baugh <sbaugh@HIDDEN>; dated Tue, 18 Apr 2023 19:13:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 16 Oct 2024 23:53:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 19:53:58 2024
Received: from localhost ([127.0.0.1]:60900 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t1Dq1-0004cR-M6
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2024 19:53:58 -0400
Received: from fhigh-a5-smtp.messagingengine.com ([103.168.172.156]:35443)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1t1Dpz-0004cC-Kj
 for 62940 <at> debbugs.gnu.org; Wed, 16 Oct 2024 19:53:56 -0400
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 074BF114009A;
 Wed, 16 Oct 2024 19:53:29 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-12.internal (MEProxy); Wed, 16 Oct 2024 19:53:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1729122809;
 x=1729209209; bh=bHGXgpQFCLnc3ch5lIIzu11oFYX+UvHj17DZAzQIPrE=; b=
 kl8o5miWt0Y1Mlg3LoNSavC1Mj74skw3BFvdMT4Tio2oS1SCiY5Ubjuk9ACQYGJ3
 k25DbP59QgvNrUxarWPO/R5qt+k5k3UFEX8HMOsUGpmacDD2IcxzwDTEbiKRQEVE
 ci/I3TMMDj3VZ3/psgC8K+HCPDNaCjWYThPbkKnPDyfVs8xI6ugkv4I+oWK8FOcT
 Pm2xd/MMenvJClFOSqtIZ///o65bCHi9tmjHR534S+cmooxa4q+d8XGtRbM+R+XN
 BCtQTIe+ayMiKDWyIA7Usp1G/dFDEQCVLVl8qeo8XtZXYPEa4aOoZ7MyUADPCol+
 nGIXb81WXyHxQH3bz9zdOA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1729122809; x=
 1729209209; bh=bHGXgpQFCLnc3ch5lIIzu11oFYX+UvHj17DZAzQIPrE=; b=d
 5yweVHtxvGUKEVNAy2MKsm6TxaCNQ9KdHJcIbznfXxHbeiolklmP0VWPblYo0MUT
 qjNhbLP5XGteFGL+jLTaRxdeW38CelIS5Qev7JAZhDMqCz5ydWo0FCXKsHhf4pIV
 iwpS8lAM8kKcK8WsVNuTfDSLrNlO8l6zbfqdt+N2rb6Q922nqoVepnhBTlQKbYwt
 PhhuL3ti/R+0kP/ccBZ4/1zsXwckYBn+uNc4eEtXYAW/IIGiDvl4DRYGO3Djx4uW
 66vOnXr2UPlTHQqLqUljUCGewZF2rV0ra0b+VAUHCvwUAPFbbZ7heYkPubdRS7zw
 7Xzqc834k3q7FzsPopVWg==
X-ME-Sender: <xms:-FEQZ_D-gTOR9kapDyUKusZDkSdi7PqXCYs_8-7ml9dUkm6DZt2mWg>
 <xme:-FEQZ1hImya-EteSW1ng6V_j1j_HGaci-YoYc30ZIJwV2FVLgwlv89Qi6ujyDpbDC
 B3Gs-hm8T3KGSgSMcE>
X-ME-Received: <xmr:-FEQZ6k1nespWwQAve3abDliB5irevxoTJhtl7sBnkw7lWW4RcoLHH-U2ATjMCLulCE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdehtddgvdejucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehssggruhhghhesjhgrnhgvsh
 htrhgvvghtrdgtohhmpdhrtghpthhtohepiedvleegtdesuggvsggsuhhgshdrghhnuhdr
 ohhrghdprhgtphhtthhopehfghhunhgsihhnsehfrghsthhmrghilhdrfhhm
X-ME-Proxy: <xmx:-FEQZxwb1dqFr_5G2Xx2LN5nJjS3tmNAN7p5WOdT9HfNPtw53jIbrA>
 <xmx:-FEQZ0R3KyWo27_FgESNBWCBQ_MV6sg16CcHovidnjXkzch1a2P2MA>
 <xmx:-FEQZ0Z8P0z6MfQl1Dryr7BmMrtLcpI2pKe0TfAJC2w57L3BJVc89g>
 <xmx:-FEQZ1Rf1DexFqQhzenuieMF4JNm5QrG_OGyZlIRtwV5p8rPuAjzmg>
 <xmx:-FEQZ6fkJJhLUHcnx4MTijClghkzDSWnVrXu_MsOdgK42YKS4lEf4FY4>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 16 Oct 2024 19:53:27 -0400 (EDT)
Message-ID: <ef23e54f-7e6f-4f4f-aee5-7649cc364546@HIDDEN>
Date: Thu, 17 Oct 2024 02:53:25 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
 <iercyk1kzj0.fsf@HIDDEN>
 <1b04c2b0-e34e-4409-a133-0a711307e4ba@HIDDEN>
 <ierplnzkdue.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <ierplnzkdue.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 16/10/2024 23:11, Spencer Baugh wrote:

> Right.  But note that the Hg revset in my original patch finds what is
> effectively the mergebase with upstream, without doing any network IO.

Yep. So this is the implementation we can use for now.

>> As a result, the core feature will work (the "outgoing" diff), whereas
>> the "incoming" diff would only be accessible for Git
>> repositories. Also, with Git, one might need to use vc-log-mergebase
>> when the remote has diverged.
> 
> Right, that makes sense to me.
> 
> Just to be clear, you're suggesting the incoming diff would be
> accessible for a Git repository via vc-diff-mergebase, right?

Right, something like

   C-x v B M HEAD RET @{upstream} RET

Actually trying that out brings up the problem that @{upstream} is not 
in completions for rev2. We could add it as the next default:

diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index a30ba06aec3..2409b4e88a0 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2068,7 +2073,10 @@ vc-diff-build-argument-list-internal
           (backend (car vc-fileset))
           (first (car files))
           (rev1-default nil)
+         (upstream-revision (vc-call-backend backend 'upstream-revision 
first))
           ) ;; (rev2-default nil)
+    (when upstream-revision
+      (push upstream-revision rev1-default))
      (cond
       ;; someday we may be able to do revision completion on non-singleton
       ;; filesets, but not yet.
@@ -2087,7 +2095,8 @@ vc-diff-build-argument-list-internal
                                         ;; (or rev2-default
                                         "current source"))
             (rev1 (vc-read-revision rev1-prompt files backend 
rev1-default))
-           (rev2 (vc-read-revision rev2-prompt files backend nil))) ;; 
rev2-default
+           (rev2 (vc-read-revision rev2-prompt files backend (list ""
+ 
upstream-revision)))) ;; rev2-default
        (when (string= rev1 "") (setq rev1 nil))
        (when (string= rev2 "") (setq rev2 nil))
        (list files rev1 rev2))))


Or alternatively, we could move both "upstream revision" identifiers to 
the revision-completion-table implementations. The result might be a bit 
less convenient, but "last ..." and "@{upstream}" will show up in 
completions, and after being selected once, will be in the input history 
as well. Depending on the frequency of use, that might be okay.

That diffs looks like this:

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 5a7ffeffc9d..019abfa475c 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1771,7 +1771,7 @@ vc-git-diff
  (defun vc-git-revision-table (_files)
    ;; What about `files'?!?  --Stef
    (let (process-file-side-effects
-	(table (list "HEAD")))
+	(table (list "HEAD" "@{upstream}")))
      (with-temp-buffer
        (vc-git-command t nil nil "for-each-ref" "--format=%(refname)")
        (goto-char (point-min))
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 856bea66a6f..90ab47fa6cd 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -545,13 +545,15 @@ vc-hg-expanded-log-entry
        (buffer-string))))

  (defun vc-hg-revision-table (files)
-  (let ((default-directory (file-name-directory (car files))))
+  (let ((default-directory (file-name-directory (car files)))
+        (upstream-rev "last(. and not outgoing())"))
      (with-temp-buffer
        (vc-hg-command t nil nil "branches" "-q")
        (vc-hg-command t nil nil "bookmarks" "-q")
        (vc-hg-command t nil nil "tags" "-q")
-      (split-string
-       (buffer-substring-no-properties (point-min) (point-max))))))
+      (cons upstream-rev
+            (split-string
+             (buffer-substring-no-properties (point-min) (point-max)))))))

  ;; Modeled after the similar function in vc-cvs.el
  (defun vc-hg-revision-completion-table (files)





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 16 Oct 2024 20:11:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 16:11:50 2024
Received: from localhost ([127.0.0.1]:60587 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t1AN4-0002rJ-43
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2024 16:11:50 -0400
Received: from mxout1.mail.janestreet.com ([38.105.200.78]:44001)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1t1AN1-0002r2-UQ
 for 62940 <at> debbugs.gnu.org; Wed, 16 Oct 2024 16:11:48 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <1b04c2b0-e34e-4409-a133-0a711307e4ba@HIDDEN> (Dmitry Gutov's
 message of "Wed, 16 Oct 2024 23:02:12 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
 <iercyk1kzj0.fsf@HIDDEN>
 <1b04c2b0-e34e-4409-a133-0a711307e4ba@HIDDEN>
Date: Wed, 16 Oct 2024 16:11:21 -0400
Message-ID: <ierplnzkdue.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com;
 s=waixah; t=1729109482;
 bh=54wBNyXLUBUlXdc5tfKrg4vTyQ7DxQ2JtRBVAuPdaf8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=nX7vJVOCsemdmhKviW3KZU9lVoe97tF25CYSCiPXqO0V9KhdRss1Zz35wCvix4jK7
 1SpTTBnSt0AUchd07vwzlOq3Gd6TUhshK3DZ5lh5TEdnre/5aZP6TiB7h3BedsWJvi
 Hbs+aMkOdH3oeqgCGQlZjty+TdKvefCaDXUxjFWaXjXnhcl4cbrwy+XsOO/M8U0SCF
 S5KFTrxGI15QYg8MN8THJ3CZDT6zTQLvtUcPOUjGjCL+jLMdRcbT/Hz2xUtAD4s3Cs
 ps8/XwlXS3rSaAjaOAVaCJkFcbUwlZgUDxOjHOFxisTztU0neAiIx2wmjOQuuhLOPt
 p/H2CO4B8mIJg==
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

> On 15/10/2024 21:10, Spencer Baugh wrote:
>> Dmitry Gutov <dmitry@HIDDEN> writes:
>>> On 11/10/2024 18:10, Spencer Baugh wrote:
>>>
>>>>      Or alternatively if we would prefer to err on the side of warning=
 the
>>>>      user that the upstream has diverged, I suppose it's the Hg
>>>>      implementation that would need to change. That can result a simpl=
er
>>>>      mental model and documentation as well. What would be Hg's
>>>>      corresponding
>>>>      selector for "tip of upstream branch"?
>>>> I'm not sure, I don't think there's no way to specify that with an
>>>> hg revset.=C2=A0 Though like most hg users, I don't actually use
>>>> branches, I use bookmarks; there's a way to do it with bookmarks, I
>>>> think. I'll investigate.
>>>
>>> Thanks. Or if it doesn't make sense for Hg (for example, if the remote
>>> tip will always be present locally too), that would also be good, then
>>> the current implementation is just right.
>> OK, so I don't see a good way to get "tip of upstream branch" with a
>> revset in hg.  You need to explicitly call "hg incoming" or similar, and
>> that returns a commit hash.  But even so, that doesn't really work with
>> hg branches, because the incoming commit hash won't actually be present
>> in the repository... I think.
>
> I guess the main problem with 'hg incoming' is that it does I/O, and
> might take a while - unlike Git's separate step of 'git fetch' which
> saved "remote" references to be used by other commands.

Right.  But note that the Hg revset in my original patch finds what is
effectively the mergebase with upstream, without doing any network IO.
Hg is able to find that mergebase without IO, but actually finding the
upstream tip requires network IO as you said.

>> But, all this is irrelevant.  Because, we don't actually care about the
>> upstream tip on its own: what we actually want is the mergebase of the
>> upstream tip and the working revision.
>> We can get that by calling the existing 'mergebase vc method.  To do
>> that, we need some way to specify the upstream tip revision when passing
>> it to 'mergebase as REV1.  (Omitting REV2 seems to just mean "use HEAD
>> as REV2", which is what we want.)  So I see two options:
>> A. Pass the symbol 'upstream, and have the 'mergebase backends
>> handle it
>>     specially.
>> B. Add a new 'upstream-tip method; for vc-git this would return
>>     "@{upstream}" and for vc-hg it would return some special sentinel
>>     which vc-hg-mergebase handles.
>> Thoughts?  I'm happy with either of these solutions.
>
> I think if there is no feasible way to do the same with Hg, we might
> as well install a halfway solution for it, which (in your latest
> proposal) returns the mergebase already. With a FIXME comment, maybe.
>
> As a result, the core feature will work (the "outgoing" diff), whereas
> the "incoming" diff would only be accessible for Git
> repositories. Also, with Git, one might need to use vc-log-mergebase
> when the remote has diverged.

Right, that makes sense to me.

Just to be clear, you're suggesting the incoming diff would be
accessible for a Git repository via vc-diff-mergebase, right?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 16 Oct 2024 20:02:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 16:02:43 2024
Received: from localhost ([127.0.0.1]:60573 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t1AEE-0002RM-Ta
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2024 16:02:43 -0400
Received: from fout-a5-smtp.messagingengine.com ([103.168.172.148]:44555)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1t1AEC-0002R6-E8
 for 62940 <at> debbugs.gnu.org; Wed, 16 Oct 2024 16:02:41 -0400
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id 093F213801AB;
 Wed, 16 Oct 2024 16:02:15 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Wed, 16 Oct 2024 16:02:15 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1729108935;
 x=1729195335; bh=JL/XSPfUoSPaJOO0TmtY/a2DTSsC77qXygjR/Tdt/EU=; b=
 f5C0yYfSWoPLqJbIo8Xh7AksB6S8Lkkm8tWYlJxwk5E1YkqcOFInWonjC3Hgdt03
 VRa1j6UqA1EligVDQORvDkL7Y3cz9AaZCz7110YSWWDnNVg3SgnNTd717220DRFE
 /pMtyGJ1aVIRaudHQa5ZlEY0GhBI5SYeme5uSZRHUxzqRcRuyHgBWeOzUFmMDGv3
 q5Aw2f9KZEDOIZA9iezdF7RfZI/+WFDb7PLPicAPF0ai4hOSg6HHxuAR6X2ydll9
 YGWlBbvAUqK+X3HWcgfY7ZhRkxE1h+gtqU8IM44tOFB9g1zXh88+LuoMAbymzWbS
 gLvy6wByO2Ows7ZjBQjM/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1729108935; x=
 1729195335; bh=JL/XSPfUoSPaJOO0TmtY/a2DTSsC77qXygjR/Tdt/EU=; b=X
 eW3tDemA/pafcNywixK5Su157jwhB5BnbCknXqP4I7LxQpettcZR+vNqBjCxXBvN
 B6lOQlQGFwIjyw+rwcJ0dBlCoKwk4gG6rX2YyPzhh03YvixJHmWOOmgP5FrMM1ba
 GFwBH59fkUnzlU9evQW6YTRG/Vbyjl3LGVT3pgEdnAgkkBtXaeYHxqqODpDq1Bxo
 HX283/l4mITi/8OWORJ47lT6QutzaBtyUgYWMrb73AXx36bsOnCJBayRKZt/Q66j
 SVJcTBepK/59qVwblsrf1WAqzs+N48mcHkQ0WHpucBZ/xVrtGFlWlicxb9POb5M6
 iOV/EgEhF/DXL7y+4ZXlw==
X-ME-Sender: <xms:xhsQZzmqMz-4momZtxkOyE4_9EKuGWgsJ8lBodgSDwiJuQW3rlW4iw>
 <xme:xhsQZ23McPb223V5rudQx42e6gE7zISephPa0hvrGShL8wa_mVz7FuLg6j8zJI75R
 milhqwFP9AqITpAkp4>
X-ME-Received: <xmr:xhsQZ5pQjTdvGztcJyvwSdvk9y5TfoxGzvZ6MFAz2-mJYmZmjPxPJ9alTXXi4ebU0EE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdegledgudeghecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddv
 jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd
 guvghvqeenucggtffrrghtthgvrhhnpeegleefteekgffhvdfhtdegveevveetteegteev
 geettdehhfdukeetheffueekkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht
 ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvg
 hsthhrvggvthdrtghomhdprhgtphhtthhopeeivdelgedtseguvggssghughhsrdhgnhhu
 rdhorhhgpdhrtghpthhtohepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmh
X-ME-Proxy: <xmx:xhsQZ7kZcbxhnMYjKwccs_m-2WBokBXEPqKLFVr7RxgBWZW712YZxg>
 <xmx:xhsQZx3uEzrl9r5ytp01Saiq6v460i1nx1PxOiDQq4mecO41rMwBOQ>
 <xmx:xhsQZ6sMDcy-eN3EOp_dnUZ_XUhwwfkoILpLDhDi6EVBpQyZPL8oAA>
 <xmx:xhsQZ1WYMQVrS87my4c-ug2rhP7ydXVfFN93vNZQbsTEifB1hpzHug>
 <xmx:xhsQZ6w87Fct-zb-PdOKoz7SrJMcRqYNOCaKx6A2izdANMVYfZeK0fAM>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 16 Oct 2024 16:02:13 -0400 (EDT)
Message-ID: <1b04c2b0-e34e-4409-a133-0a711307e4ba@HIDDEN>
Date: Wed, 16 Oct 2024 23:02:12 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
 <iercyk1kzj0.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <iercyk1kzj0.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 15/10/2024 21:10, Spencer Baugh wrote:
> Dmitry Gutov <dmitry@HIDDEN> writes:
>> On 11/10/2024 18:10, Spencer Baugh wrote:
>>
>>>      Or alternatively if we would prefer to err on the side of warning the
>>>      user that the upstream has diverged, I suppose it's the Hg
>>>      implementation that would need to change. That can result a simpler
>>>      mental model and documentation as well. What would be Hg's
>>>      corresponding
>>>      selector for "tip of upstream branch"?
>>> I'm not sure, I don't think there's no way to specify that with an
>>> hg revset.  Though like most hg users, I don't actually use
>>> branches, I use bookmarks; there's a way to do it with bookmarks, I
>>> think. I'll investigate.
>>
>> Thanks. Or if it doesn't make sense for Hg (for example, if the remote
>> tip will always be present locally too), that would also be good, then
>> the current implementation is just right.
> 
> OK, so I don't see a good way to get "tip of upstream branch" with a
> revset in hg.  You need to explicitly call "hg incoming" or similar, and
> that returns a commit hash.  But even so, that doesn't really work with
> hg branches, because the incoming commit hash won't actually be present
> in the repository... I think.

I guess the main problem with 'hg incoming' is that it does I/O, and 
might take a while - unlike Git's separate step of 'git fetch' which 
saved "remote" references to be used by other commands.

> But, all this is irrelevant.  Because, we don't actually care about the
> upstream tip on its own: what we actually want is the mergebase of the
> upstream tip and the working revision.
> 
> We can get that by calling the existing 'mergebase vc method.  To do
> that, we need some way to specify the upstream tip revision when passing
> it to 'mergebase as REV1.  (Omitting REV2 seems to just mean "use HEAD
> as REV2", which is what we want.)  So I see two options:
> 
> A. Pass the symbol 'upstream, and have the 'mergebase backends handle it
>     specially.
> 
> B. Add a new 'upstream-tip method; for vc-git this would return
>     "@{upstream}" and for vc-hg it would return some special sentinel
>     which vc-hg-mergebase handles.
> 
> Thoughts?  I'm happy with either of these solutions.

I think if there is no feasible way to do the same with Hg, we might as 
well install a halfway solution for it, which (in your latest proposal) 
returns the mergebase already. With a FIXME comment, maybe.

As a result, the core feature will work (the "outgoing" diff), whereas 
the "incoming" diff would only be accessible for Git repositories. Also, 
with Git, one might need to use vc-log-mergebase when the remote has 
diverged.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 15 Oct 2024 18:11:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 14:11:11 2024
Received: from localhost ([127.0.0.1]:57394 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t0m0k-0000wd-Q6
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2024 14:11:11 -0400
Received: from mxout1.mail.janestreet.com ([38.105.200.78]:47281)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1t0m0h-0000wH-VU
 for 62940 <at> debbugs.gnu.org; Tue, 15 Oct 2024 14:11:09 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN> (Dmitry Gutov's
 message of "Fri, 11 Oct 2024 23:28:56 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
Date: Tue, 15 Oct 2024 14:10:43 -0400
Message-ID: <iercyk1kzj0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com;
 s=waixah; t=1729015843;
 bh=YjyJqNr8sIabYPt4BgvkTFt4HGmcKhl9MUfed90z/C8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=nmxNkVTQbn3DZX7WgRYFEv/LbdRJZf4cYQ5xH5Ff77+yPV387Phm1VqK+WZHjfqWB
 3ksAl5npLo2bE1nlnWZmRd0SOB3epmgA/0xFRhNeEbj0gqioNKXWbAnD1kBsLyyMRS
 DM2ETvKgHXZZdStmwU3NDum9E/XGWt3EIz8NJ9zKEoiyZLsWx0jJkWAKCRPHUZ8zVi
 di4AZ0PLMie6MxxbroaM80FELYuusT/5cTVnZKa/Uz6NBV4UPf1cALjxPrqE6OtSgX
 /PVlRkOx43ZfaB6kMEdM5WfPCRkhEl2+jt61XVuA6HQ7SrvM3H423WOMXRAjwWBvN9
 B8eZpnyo8RUdg==
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:
> On 11/10/2024 18:10, Spencer Baugh wrote:
>
>>     Or alternatively if we would prefer to err on the side of warning the
>>     user that the upstream has diverged, I suppose it's the Hg
>>     implementation that would need to change. That can result a simpler
>>     mental model and documentation as well. What would be Hg's
>>     corresponding
>>     selector for "tip of upstream branch"?
>> I'm not sure, I don't think there's no way to specify that with an
>> hg revset.=C2=A0 Though like most hg users, I don't actually use
>> branches, I use bookmarks; there's a way to do it with bookmarks, I
>> think. I'll investigate.
>
> Thanks. Or if it doesn't make sense for Hg (for example, if the remote
> tip will always be present locally too), that would also be good, then
> the current implementation is just right.

OK, so I don't see a good way to get "tip of upstream branch" with a
revset in hg.  You need to explicitly call "hg incoming" or similar, and
that returns a commit hash.  But even so, that doesn't really work with
hg branches, because the incoming commit hash won't actually be present
in the repository... I think.

But, all this is irrelevant.  Because, we don't actually care about the
upstream tip on its own: what we actually want is the mergebase of the
upstream tip and the working revision.

We can get that by calling the existing 'mergebase vc method.  To do
that, we need some way to specify the upstream tip revision when passing
it to 'mergebase as REV1.  (Omitting REV2 seems to just mean "use HEAD
as REV2", which is what we want.)  So I see two options:

A. Pass the symbol 'upstream, and have the 'mergebase backends handle it
   specially.

B. Add a new 'upstream-tip method; for vc-git this would return
   "@{upstream}" and for vc-hg it would return some special sentinel
   which vc-hg-mergebase handles.

Thoughts?  I'm happy with either of these solutions.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 12 Oct 2024 08:32:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 12 04:32:33 2024
Received: from localhost ([127.0.0.1]:36245 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szXY9-0005TD-1U
	for submit <at> debbugs.gnu.org; Sat, 12 Oct 2024 04:32:33 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34790)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1szXY3-0005Sv-GY
 for 62940 <at> debbugs.gnu.org; Sat, 12 Oct 2024 04:32:30 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1szXXj-0001gM-VP; Sat, 12 Oct 2024 04:32:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=k1QojtKCvD0kJWThvNSaoQrrkgI2UphU9WSq+rPmYJ8=; b=hpomYfVMtmtD
 NwbK/dHt5XGo4npHpdRm855RQI4hB3XTfwVAYNYxxjm6sM6DIRc+CgToqEUddzl3sFjiTuX9EDBBO
 X+j7cd25+qu8wP+pYpqo2XYfyENMOkVG485O2z9CRcd9R5ISMl0+03wnbDPUjNFpHYDgLGuJPJnrG
 qPY5gbzRx8LfYlB5wlG6zuo+fV5RBKTmeSCSBmxjww+vHoXs9Y4fx2SvGoF74bRFvuyKfEfn8dD/0
 ebQApC+KJjT9eVwbLosm5NpaqQpXsO3WTxnhzaRJDv/xFcdVe14MwJcIhQoiRDTJSL/W6eFzJjHe1
 vI2B1haVjD6rVls1PGmwvQ==;
Date: Sat, 12 Oct 2024 11:32:05 +0300
Message-Id: <86v7xxyb5m.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <a8374e69-bb5d-4ab4-a9f5-966b99b600d6@HIDDEN> (message from
 Dmitry Gutov on Sat, 12 Oct 2024 01:38:38 +0300)
Subject: Re: bug#62940: 29.0.60;
 vc: no easy way to get diff of all outgoing changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
 <a8374e69-bb5d-4ab4-a9f5-966b99b600d6@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
> Date: Sat, 12 Oct 2024 01:38:38 +0300
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> --- a/doc/emacs/maintaining.texi
> +++ b/doc/emacs/maintaining.texi
> @@ -881,13 +881,16 @@ Old Revisions
>  
>  @kindex C-u C-x v =
>    To compare two arbitrary revisions of the current VC fileset, call
> -@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This
> -prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
> -diff between those versions of the fileset.  This will not work
> -reliably for multi-file VC filesets, if the version control system is
> -file-based rather than changeset-based (e.g., CVS), since then
> -revision IDs for different files would not be related in any
> -meaningful way.
> +@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This prompts
> +for two revision IDs (@pxref{VCS Concepts}), and displays a diff between
> +those versions of the fileset.  The first one has several default
> +values: the revision before the last one when the fileset changed, and
> +the last revision of the current branch's upstream.
> +The second revision ID defaults to nil, which means the contents of
> +the work tree.  This will not work reliably for multi-file VC filesets,
> +if the version control system is file-based rather than changeset-based
> +(e.g., CVS), since then revision IDs for different files would not be
> +related in any meaningful way.
>  
>    Instead of the revision ID, some version control systems let you
>  specify revisions in other formats.  For instance, under Bazaar you
> @@ -921,6 +924,10 @@ Old Revisions
>  prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
>  diff between those versions of the entire version-controlled directory
>  trees (RCS, SCCS, CVS, and SRC do not support this feature).
> +The first one has several default values: the revision before the last
> +one when the fileset changed, and the last revision of the current
> +branch's upstream.  The second revision ID defaults to nil, which means
> +the contents of the work tree.

Nitpicking: please use @code{nil} in Texinfo documentation, not a
literal "nil".




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 22:39:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 18:39:05 2024
Received: from localhost ([127.0.0.1]:35617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szOHo-0007m4-P3
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 18:39:05 -0400
Received: from fout-a5-smtp.messagingengine.com ([103.168.172.148]:42047)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1szOHm-0007lX-4v
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 18:39:03 -0400
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfout.phl.internal (Postfix) with ESMTP id 66DC51380592;
 Fri, 11 Oct 2024 18:38:43 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Fri, 11 Oct 2024 18:38:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-type:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:subject
 :subject:to:to; s=fm1; t=1728686323; x=1728772723; bh=9KNo+MW9yM
 yE0DZAxXhnZ0DT2Rh6/fW5CGXujlCjcuE=; b=EX4mRv7VvfCvEqbNBnvvi+8fTT
 ZHJFduNzl7NPkCHejamncyjqlIiDvKtH+TvwgFC9yCL6Yp45I0mdEpB7RRiPPC1L
 exPUbTpMujplYaa6Q3sSRVEnKnvXU9Q/x1ulvAtOYJyOHvBTJSrNCPxKNqsloDE+
 3+aMgg7pr9A2Xu1MgUMHZ/d27SKgAZ55j8uxMmZHPMtaNu/NrvoQg5L4Y6E+yufN
 V4OeizVaEot4s64PLn1fMsXFW0M+ZusLyqTLcnmQMKZx04Ru8DNsi1zb1jvAuAIe
 VvdUwatzFU9aaDnUxivh0oh5olh8UAbM3gsySn1D/b+PWTL6lnGOEfSwTvLg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:subject:subject:to
 :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
 fm2; t=1728686323; x=1728772723; bh=9KNo+MW9yMyE0DZAxXhnZ0DT2Rh6
 /fW5CGXujlCjcuE=; b=mSOZUF+HauzjxpZmupGcsSNODyKe3Xjg4e7myt9FdMoW
 65HGvgEBb1cz2Gpm2x2gVuonvDLF+ZJuHLXblmQfHqNAmQGb6dM/ITjcfpEUPqFQ
 tRVBccZt66eUzMB/f4LY+I6/iDNXYKQuNCgw9xQ7ZaqIcXe6ibpPjo8tPZwEuctD
 FWGgQ7Cdd2pPn1LAfjT2VjnG/0k/CPa0naa4mm/KYAheeKkIiHv/K7giI7YqJa9P
 DbY7tTbhDWCBkBfdnxgic9X0I78Hq/THndxSBO1IloXxkcmwtEMZAGhfPiee9rcO
 nLchmNo2Du23wkESVXgfz5MLpCp6zPtI7GRNdv8o9g==
X-ME-Sender: <xms:86gJZ9-nR64gRe213h8QMu9QIci933z5uIHpkd-WSuYbmEs2tY4xuw>
 <xme:86gJZxvw3gBIRtsxZASX-yuC1h4P7s-D3ka8jA_CAmBEEqdZZSHJMMWXH3i75KPgp
 AanrpUKOyHpsXNlO4E>
X-ME-Received: <xmr:86gJZ7DV6GTtllStFMcgn6dHkCC4poBzdbF8Qs5K7DFApepGI415qRfnU4w5M2pg0vdO4KuR63x29cc9sCJx7WhMcpP3T9T2qKW3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefledgudefucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurheptgfkffggfgfuhffvvehfjgesmhdtreertddvjeen
 ucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvg
 hvqeenucggtffrrghtthgvrhhnpedtvdeugedvteelvdegvefguedtgfethefggeffkedt
 keegveeifeeiudejueffffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh
 grihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohep
 fedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvghsth
 hrvggvthdrtghomhdprhgtphhtthhopeeivdelgedtseguvggssghughhsrdhgnhhurdho
 rhhgpdhrtghpthhtohepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmh
X-ME-Proxy: <xmx:86gJZxeIQgrMsLyNTXcbKH--SBmtZjfCTcaT_X4FD4iP929tiNX7Kg>
 <xmx:86gJZyNgEMg2D5MAiL5erzQsnsYpxTcdec8auco6l3whN7aJKRLpkg>
 <xmx:86gJZzn9gmA5zlk4Ro9drM3zGlAtRiS88WRCDzDrb7Quvd0kdexm_g>
 <xmx:86gJZ8uYcBivGILuQdE6i5GTbuZfZmrbwYV5GPTZt9z1k5VypXGIhQ>
 <xmx:86gJZ_pwDrLA5y82wSB75t2xvs22msB9vEk5izndiGelpc5WQvAzSdsl>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 11 Oct 2024 18:38:42 -0400 (EDT)
Content-Type: multipart/mixed; boundary="------------3DNwMPOYiylRTj0AfzUEWYWz"
Message-ID: <a8374e69-bb5d-4ab4-a9f5-966b99b600d6@HIDDEN>
Date: Sat, 12 Oct 2024 01:38:38 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
From: Dmitry Gutov <dmitry@HIDDEN>
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
 <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
Content-Language: en-US
In-Reply-To: <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

This is a multi-part message in MIME format.
--------------3DNwMPOYiylRTj0AfzUEWYWz
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/10/2024 23:28, Dmitry Gutov wrote:
> 
> Anyway, it seems instead of vc-root-diff we can use vc-diff-mergebase, 
> it has the same completion for revisions. With REV1=@{upstream} and 
> REV2="", we'll get #1, with reverse - #2. The full key sequence:
> 
>    C-u C-x v M D @{upstream} RET C-j
> 
> Note that vc-*-mergebase is only implemented for Git. But vc-hg-log- 
> incoming is defined -- that seems to indicate that 'mergebase' would be 
> useful to support for it too.

Here's my current patch.
--------------3DNwMPOYiylRTj0AfzUEWYWz
Content-Type: text/x-patch; charset=UTF-8; name="vc-upstream-revision.diff"
Content-Disposition: attachment; filename="vc-upstream-revision.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9tYWludGFpbmluZy50ZXhpIGIvZG9jL2VtYWNzL21h
aW50YWluaW5nLnRleGkKaW5kZXggOTkyMTliN2Y1ZDcuLjU1ODAzZGU2Mjc0IDEwMDY0NAot
LS0gYS9kb2MvZW1hY3MvbWFpbnRhaW5pbmcudGV4aQorKysgYi9kb2MvZW1hY3MvbWFpbnRh
aW5pbmcudGV4aQpAQCAtODgxLDEzICs4ODEsMTYgQEAgT2xkIFJldmlzaW9ucwogCiBAa2lu
ZGV4IEMtdSBDLXggdiA9CiAgIFRvIGNvbXBhcmUgdHdvIGFyYml0cmFyeSByZXZpc2lvbnMg
b2YgdGhlIGN1cnJlbnQgVkMgZmlsZXNldCwgY2FsbAotQGNvZGV7dmMtZGlmZn0gd2l0aCBh
IHByZWZpeCBhcmd1bWVudDogQGtiZHtDLXUgQy14IHYgPX0uICBUaGlzCi1wcm9tcHRzIGZv
ciB0d28gcmV2aXNpb24gSURzIChAcHhyZWZ7VkNTIENvbmNlcHRzfSksIGFuZCBkaXNwbGF5
cyBhCi1kaWZmIGJldHdlZW4gdGhvc2UgdmVyc2lvbnMgb2YgdGhlIGZpbGVzZXQuICBUaGlz
IHdpbGwgbm90IHdvcmsKLXJlbGlhYmx5IGZvciBtdWx0aS1maWxlIFZDIGZpbGVzZXRzLCBp
ZiB0aGUgdmVyc2lvbiBjb250cm9sIHN5c3RlbSBpcwotZmlsZS1iYXNlZCByYXRoZXIgdGhh
biBjaGFuZ2VzZXQtYmFzZWQgKGUuZy4sIENWUyksIHNpbmNlIHRoZW4KLXJldmlzaW9uIElE
cyBmb3IgZGlmZmVyZW50IGZpbGVzIHdvdWxkIG5vdCBiZSByZWxhdGVkIGluIGFueQotbWVh
bmluZ2Z1bCB3YXkuCitAY29kZXt2Yy1kaWZmfSB3aXRoIGEgcHJlZml4IGFyZ3VtZW50OiBA
a2Jke0MtdSBDLXggdiA9fS4gIFRoaXMgcHJvbXB0cworZm9yIHR3byByZXZpc2lvbiBJRHMg
KEBweHJlZntWQ1MgQ29uY2VwdHN9KSwgYW5kIGRpc3BsYXlzIGEgZGlmZiBiZXR3ZWVuCit0
aG9zZSB2ZXJzaW9ucyBvZiB0aGUgZmlsZXNldC4gIFRoZSBmaXJzdCBvbmUgaGFzIHNldmVy
YWwgZGVmYXVsdAordmFsdWVzOiB0aGUgcmV2aXNpb24gYmVmb3JlIHRoZSBsYXN0IG9uZSB3
aGVuIHRoZSBmaWxlc2V0IGNoYW5nZWQsIGFuZAordGhlIGxhc3QgcmV2aXNpb24gb2YgdGhl
IGN1cnJlbnQgYnJhbmNoJ3MgdXBzdHJlYW0uCitUaGUgc2Vjb25kIHJldmlzaW9uIElEIGRl
ZmF1bHRzIHRvIG5pbCwgd2hpY2ggbWVhbnMgdGhlIGNvbnRlbnRzIG9mCit0aGUgd29yayB0
cmVlLiAgVGhpcyB3aWxsIG5vdCB3b3JrIHJlbGlhYmx5IGZvciBtdWx0aS1maWxlIFZDIGZp
bGVzZXRzLAoraWYgdGhlIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gaXMgZmlsZS1iYXNlZCBy
YXRoZXIgdGhhbiBjaGFuZ2VzZXQtYmFzZWQKKyhlLmcuLCBDVlMpLCBzaW5jZSB0aGVuIHJl
dmlzaW9uIElEcyBmb3IgZGlmZmVyZW50IGZpbGVzIHdvdWxkIG5vdCBiZQorcmVsYXRlZCBp
biBhbnkgbWVhbmluZ2Z1bCB3YXkuCiAKICAgSW5zdGVhZCBvZiB0aGUgcmV2aXNpb24gSUQs
IHNvbWUgdmVyc2lvbiBjb250cm9sIHN5c3RlbXMgbGV0IHlvdQogc3BlY2lmeSByZXZpc2lv
bnMgaW4gb3RoZXIgZm9ybWF0cy4gIEZvciBpbnN0YW5jZSwgdW5kZXIgQmF6YWFyIHlvdQpA
QCAtOTIxLDYgKzkyNCwxMCBAQCBPbGQgUmV2aXNpb25zCiBwcm9tcHRzIGZvciB0d28gcmV2
aXNpb24gSURzIChAcHhyZWZ7VkNTIENvbmNlcHRzfSksIGFuZCBkaXNwbGF5cyBhCiBkaWZm
IGJldHdlZW4gdGhvc2UgdmVyc2lvbnMgb2YgdGhlIGVudGlyZSB2ZXJzaW9uLWNvbnRyb2xs
ZWQgZGlyZWN0b3J5CiB0cmVlcyAoUkNTLCBTQ0NTLCBDVlMsIGFuZCBTUkMgZG8gbm90IHN1
cHBvcnQgdGhpcyBmZWF0dXJlKS4KK1RoZSBmaXJzdCBvbmUgaGFzIHNldmVyYWwgZGVmYXVs
dCB2YWx1ZXM6IHRoZSByZXZpc2lvbiBiZWZvcmUgdGhlIGxhc3QKK29uZSB3aGVuIHRoZSBm
aWxlc2V0IGNoYW5nZWQsIGFuZCB0aGUgbGFzdCByZXZpc2lvbiBvZiB0aGUgY3VycmVudAor
YnJhbmNoJ3MgdXBzdHJlYW0uICBUaGUgc2Vjb25kIHJldmlzaW9uIElEIGRlZmF1bHRzIHRv
IG5pbCwgd2hpY2ggbWVhbnMKK3RoZSBjb250ZW50cyBvZiB0aGUgd29yayB0cmVlLgogCiBA
dmluZGV4IHZjLWRpZmYtc3dpdGNoZXMKICAgWW91IGNhbiBjdXN0b21pemUgdGhlIEBjb21t
YW5ke2RpZmZ9IG9wdGlvbnMgdGhhdCBAa2Jke0MteCB2ID19IGFuZApkaWZmIC0tZ2l0IGEv
ZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCAyY2QzYjU4OTNhMS4uNGU4MDgxZjg3MGEgMTAw
NjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC00NDEsNiArNDQxLDcgQEAg
b3ZlcmxhcC4KIFRoZXkgc3VnZ2VzdCB0aGUgcHJldmlvdXMgcmV2aXNpb24gYXMgdGhlIGRl
ZmF1bHQgZm9yIFJFVjEsIG5vdCB0aGUgbGFzdAogb25lIGFzIGJlZm9yZS4gIFRoaXMgbWFr
ZXMgdGhlbSBkaWZmZXJlbnQgZnJvbSAndmMtZGlmZicgYW5kCiAndmMtcm9vdC1kaWZmJyB3
aGVuIHRob3NlIGFyZSBjYWxsZWQgd2l0aG91dCBhIHByZWZpeCBhcmd1bWVudC4KK1RoaXMg
Y2hhbmdlIGFsc28gYWZmZWN0cyAndmMtZGlmZi1tZXJnZWJhc2UnLgogCiAqKiBwaHAtdHMt
bW9kZQogCmRpZmYgLS1naXQgYS9saXNwL3ZjL3ZjLWdpdC5lbCBiL2xpc3AvdmMvdmMtZ2l0
LmVsCmluZGV4IDVhN2ZmZWZmYzlkLi44NzI3YWNjZjBlYyAxMDA2NDQKLS0tIGEvbGlzcC92
Yy92Yy1naXQuZWwKKysrIGIvbGlzcC92Yy92Yy1naXQuZWwKQEAgLTE1MjIsNiArMTUyMiwx
MiBAQCB2Yy1naXQtcHJpbnQtbG9nCiAgICAgICAgICAgICAgICAgICAobGlzdCAiLXAiKSkK
IAkJJygiLS0iKSkpKSkpKQogCisoZGVmdW4gdmMtZ2l0LXVwc3RyZWFtLXJldmlzaW9uIChf
ZmlsZSAmb3B0aW9uYWwgcmVtb3RlLWxvY2F0aW9uKQorICAiUmV0dXJuIHRoZSByZWYgZm9y
IFJFTU9URS1MT0NBVElPTi4iCisgIChpZiAoYW5kIHJlbW90ZS1sb2NhdGlvbiAobm90IChz
dHJpbmctZW1wdHktcCByZW1vdGUtbG9jYXRpb24pKSkKKyAgICAgIHJlbW90ZS1sb2NhdGlv
bgorICAgICJAe3Vwc3RyZWFtfSIpKQorCiAoZGVmdW4gdmMtZ2l0LWxvZy1vdXRnb2luZyAo
YnVmZmVyIHJlbW90ZS1sb2NhdGlvbikKICAgKHZjLXNldHVwLWJ1ZmZlciBidWZmZXIpCiAg
IChhcHBseSAjJ3ZjLWdpdC1jb21tYW5kIGJ1ZmZlciAnYXN5bmMgbmlsCkBAIC0xNTMwLDkg
KzE1MzYsNyBAQCB2Yy1naXQtbG9nLW91dGdvaW5nCiAgICAgICAgICAgICwoZm9ybWF0ICIt
LXByZXR0eT10Zm9ybWF0OiVzIiAoY2FyIHZjLWdpdC1yb290LWxvZy1mb3JtYXQpKQogICAg
ICAgICAgICAiLS1hYmJyZXYtY29tbWl0IgogICAgICAgICAgICAsQChlbnN1cmUtbGlzdCB2
Yy1naXQtc2hvcnRsb2ctc3dpdGNoZXMpCi0gICAgICAgICAgICwoY29uY2F0IChpZiAoc3Ry
aW5nPSByZW1vdGUtbG9jYXRpb24gIiIpCi0JICAgICAgICAgICAgICAgICJAe3Vwc3RyZWFt
fSIKLQkgICAgICAgICAgICAgIHJlbW90ZS1sb2NhdGlvbikKKyAgICAgICAgICAgLChjb25j
YXQgKHZjLWdpdC11cHN0cmVhbS1yZXZpc2lvbiBuaWwgcmVtb3RlLWxvY2F0aW9uKQogCSAg
ICAgICAgICAgICIuLkhFQUQiKSkpKQogCiAoZGVmdW4gdmMtZ2l0LWxvZy1pbmNvbWluZyAo
YnVmZmVyIHJlbW90ZS1sb2NhdGlvbikKZGlmZiAtLWdpdCBhL2xpc3AvdmMvdmMtaGcuZWwg
Yi9saXNwL3ZjL3ZjLWhnLmVsCmluZGV4IDg3NmQ4NmRjMjRmLi5mZjA5YzI2MGY2MCAxMDA2
NDQKLS0tIGEvbGlzcC92Yy92Yy1oZy5lbAorKysgYi9saXNwL3ZjL3ZjLWhnLmVsCkBAIC0x
NDIyLDYgKzE0MjIsMTIgQEAgdmMtaGctbG9nLWluY29taW5nCiAgICh2Yy1oZy1jb21tYW5k
IGJ1ZmZlciAxIG5pbCAiaW5jb21pbmciICItbiIgKHVubGVzcyAoc3RyaW5nPSByZW1vdGUt
bG9jYXRpb24gIiIpCiAJCQkJCQlyZW1vdGUtbG9jYXRpb24pKSkKIAorKGRlZnVuIHZjLWhn
LXVwc3RyZWFtLXJldmlzaW9uIChfZmlsZSAmb3B0aW9uYWwgcmVtb3RlLWxvY2F0aW9uKQor
ICAiUmV0dXJuIGEgcmV2c3BlYyBmb3IgdGhlIGxhc3QgY29tbWl0IG5vdCBvdXRnb2luZyB0
byBSRU1PVEUtTE9DQVRJT04uIgorICAodW5sZXNzIHJlbW90ZS1sb2NhdGlvbgorICAgIChz
ZXRxIHJlbW90ZS1sb2NhdGlvbiAiIikpCisgIChmb3JtYXQgImxhc3QoLiBhbmQgbm90IG91
dGdvaW5nKCVzKSkiIHJlbW90ZS1sb2NhdGlvbikpCisKIChkZWZ1biB2Yy1oZy1sb2ctb3V0
Z29pbmcgKGJ1ZmZlciByZW1vdGUtbG9jYXRpb24pCiAgICh2Yy1zZXR1cC1idWZmZXIgYnVm
ZmVyKQogICAodmMtaGctY29tbWFuZCBidWZmZXIgMSBuaWwgIm91dGdvaW5nIiAiLW4iICh1
bmxlc3MgKHN0cmluZz0gcmVtb3RlLWxvY2F0aW9uICIiKQpkaWZmIC0tZ2l0IGEvbGlzcC92
Yy92Yy5lbCBiL2xpc3AvdmMvdmMuZWwKaW5kZXggYTMwYmEwNmFlYzMuLmY3MTZmNjUyZjZl
IDEwMDY0NAotLS0gYS9saXNwL3ZjL3ZjLmVsCisrKyBiL2xpc3AvdmMvdmMuZWwKQEAgLTIw
NjEsNiArMjA2MSwxMSBAQCB2Yy1yZWFkLW11bHRpcGxlLXJldmlzaW9ucwogSU5JVElBTC1J
TlBVVCBhcmUgcGFzc2VkIG9uIHRvIGB2Yy1yZWFkLXJldmlzaW9uJyBkaXJlY3RseS4iCiAg
ICh2Yy1yZWFkLXJldmlzaW9uIHByb21wdCBmaWxlcyBiYWNrZW5kIGRlZmF1bHQgaW5pdGlh
bC1pbnB1dCB0KSkKIAorKGRlZnVuIHZjLWRlZmF1bHQtdXBzdHJlYW0tcmV2aXNpb24gKF9m
aWxlICZvcHRpb25hbCBfcmVtb3RlLWxvY2F0aW9uKQorICAiUmV0dXJuIHRoZSBsYXN0IHVw
c3RyZWFtIHJldmlzaW9uIG9mIEZJTEUuCitUaGUgZGVmYXVsdCBpcyB0byByZXR1cm4gbmls
IGFsd2F5cy4iCisgIG5pbCkKKwogKGRlZnVuIHZjLWRpZmYtYnVpbGQtYXJndW1lbnQtbGlz
dC1pbnRlcm5hbCAoJm9wdGlvbmFsIGZpbGVzZXQpCiAgICJCdWlsZCBhcmd1bWVudCBsaXN0
IGZvciBjYWxsaW5nIGludGVybmFsIGRpZmYgZnVuY3Rpb25zLiIKICAgKGxldCogKCh2Yy1m
aWxlc2V0IChvciBmaWxlc2V0ICh2Yy1kZWR1Y2UtZmlsZXNldCB0KSkpIDtGSVhNRTogd2h5
IHQ/ICAtLVN0ZWYKQEAgLTIwNjksNiArMjA3NCw4IEBAIHZjLWRpZmYtYnVpbGQtYXJndW1l
bnQtbGlzdC1pbnRlcm5hbAogICAgICAgICAgKGZpcnN0IChjYXIgZmlsZXMpKQogICAgICAg
ICAgKHJldjEtZGVmYXVsdCBuaWwpCiAgICAgICAgICApIDs7IChyZXYyLWRlZmF1bHQgbmls
KQorICAgICh3aGVuLWxldCAoKHVwc3RyZWFtLXJldmlzaW9uICh2Yy1jYWxsLWJhY2tlbmQg
YmFja2VuZCAndXBzdHJlYW0tcmV2aXNpb24gZmlyc3QpKSkKKyAgICAgIChwdXNoIHVwc3Ry
ZWFtLXJldmlzaW9uIHJldjEtZGVmYXVsdCkpCiAgICAgKGNvbmQKICAgICAgOzsgc29tZWRh
eSB3ZSBtYXkgYmUgYWJsZSB0byBkbyByZXZpc2lvbiBjb21wbGV0aW9uIG9uIG5vbi1zaW5n
bGV0b24KICAgICAgOzsgZmlsZXNldHMsIGJ1dCBub3QgeWV0LgpAQCAtMjE2OSw5ICsyMTc2
LDggQEAgdmMtZGlmZi1tZXJnZWJhc2UKIFRoZSBtZXJnZSBiYXNlIGlzIGEgY29tbW9uIGFu
Y2VzdG9yIGJldHdlZW4gUkVWMSBhbmQgUkVWMiByZXZpc2lvbnMuIgogICAoaW50ZXJhY3Rp
dmUKICAgICh2Yy1kaWZmLWJ1aWxkLWFyZ3VtZW50LWxpc3QtaW50ZXJuYWwKLSAgICAob3Ig
KGlnbm9yZS1lcnJvcnMgKHZjLWRlZHVjZS1maWxlc2V0IHQpKQotICAgICAgICAobGV0ICgo
YmFja2VuZCAob3IgKHZjLWRlZHVjZS1iYWNrZW5kKSAodmMtcmVzcG9uc2libGUtYmFja2Vu
ZCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkKLSAgICAgICAgICAobGlzdCBiYWNrZW5kIChsaXN0
ICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAncm9vdCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkp
KSkKKyAgICAobGV0ICgoYmFja2VuZCAob3IgKHZjLWRlZHVjZS1iYWNrZW5kKSAodmMtcmVz
cG9uc2libGUtYmFja2VuZCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkKKyAgICAgIChsaXN0IGJh
Y2tlbmQgKGxpc3QgKHZjLWNhbGwtYmFja2VuZCBiYWNrZW5kICdyb290IGRlZmF1bHQtZGly
ZWN0b3J5KSkpKSkpCiAgICh3aGVuIChhbmQgKG5vdCByZXYxKSByZXYyKQogICAgIChlcnJv
ciAiTm90IGEgdmFsaWQgcmV2aXNpb24gcmFuZ2UiKSkKICAgKGxldCAoKGJhY2tlbmQgKHZj
LWRlZHVjZS1iYWNrZW5kKSkK

--------------3DNwMPOYiylRTj0AfzUEWYWz--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 20:29:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 16:29:22 2024
Received: from localhost ([127.0.0.1]:35433 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szMGI-0008Hx-8a
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 16:29:22 -0400
Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]:45527)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1szMGF-0008Hh-D1
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 16:29:21 -0400
Received: from phl-compute-06.internal (phl-compute-06.phl.internal
 [10.202.2.46])
 by mailfout.phl.internal (Postfix) with ESMTP id 064CD1380205;
 Fri, 11 Oct 2024 16:29:01 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-06.internal (MEProxy); Fri, 11 Oct 2024 16:29:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728678541;
 x=1728764941; bh=YD1recTnlkDS8FqYuSZNp9A6J7He7nRtieCfv41ddjk=; b=
 EsHIr8KwSQOLNNp0wUbQlGwyBcbrypif1BesKoXYB30+1/HGvu155yBl95LjXGvC
 843F+hEXx7l1UcNTK+zuYBgfnE0Cgx+5qSKnc6Kqd1G9zF3odbjMt4J9gDv26tZE
 mS42lyOJ5jia203Zy4QNjfcyF+rVKdAm/OyJ1tXSi8plXRCnPIBXlZ+Ek2UG+m7/
 UswcIacszr+Aau+NNY0ICxHFvwAYPSs13RI7MnA7mKcxUWC63Otjaw5JdZXoO3Uv
 T7D3hrW6MMwW4UiHvTi9YVqsEN8gTd53votWcLpxmWGi4cvoK6cCLeyUaVYyRfrg
 4j6ArKRzxxTz+M+FihNvSw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728678541; x=
 1728764941; bh=YD1recTnlkDS8FqYuSZNp9A6J7He7nRtieCfv41ddjk=; b=F
 UaRXKvoddzhrVtShAaq+A0SyyXSw977GAFEjh9mzjonQjv4t/Gi2BROXlZ4cG32W
 GUwbmlnaBci2EimY7Lenv2I9UpQHK3TXYmkosM6asLvuBpVbC4Re5RbgUsKilvA/
 77Ur/+gzJH/yIP4D30/NVsMPru+XxKIHdAWC3cDTTkkM2+tWqF/P4pRr4ejrET8X
 OLeGYp65CQGIuT1n8kffD/k9C++cB7jBOGuiGP8aHQ7FRr6M66rh9KbKPGDo7emT
 S/IWRRDarC1rx7gLWDdKIhXzytgHrYwcN+Ux2eh1WdSQu95011jt1u+9Pz/xKnt6
 xfxNdtimLpoKPYN/XmZnw==
X-ME-Sender: <xms:jIoJZ7SDATzB3_IjnuSca7cNcLs9FJrPEhpCHyTqi1lMJl_BR0G7kw>
 <xme:jIoJZ8zn3rL-PObdvE5-gdbPt_m3D-4F_EKNwVVk-PTJ6yjF8U3kAMGsX8_Cp6mGm
 tDKc4-7azSHpPhDVP8>
X-ME-Received: <xmr:jIoJZw1Smvwnj6XivMpFI6bTFpqYAchiGGKWOde4vXuWDYwNqfo3UQqT8KbAVGRIVKVH8SV2G0WbgYUdb3jaye7IHJC6nrN6kqz7jw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefkedgudeglecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddv
 jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd
 guvghvqeenucggtffrrghtthgvrhhnpeegleefteekgffhvdfhtdegveevveetteegteev
 geettdehhfdukeetheffueekkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht
 ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvg
 hsthhrvggvthdrtghomhdprhgtphhtthhopeeivdelgedtseguvggssghughhsrdhgnhhu
 rdhorhhgpdhrtghpthhtohepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmh
X-ME-Proxy: <xmx:jIoJZ7AJTGK9PQOI8hADTu8gbyeoZXccmRteGmobN9PN-bXQ5-XiLg>
 <xmx:jIoJZ0gEmPVZx4Of2hcl9cvUdWBIeArXW4JMAy3GDWoln3FDwirq_w>
 <xmx:jIoJZ_oe2QhWiG9TZYKki1mgyxXoRT-hLmK_jh2Ff5La5wxJbXG-yQ>
 <xmx:jIoJZ_hdXKNg1rcR8RL_tWE8akPkVVfMIvWsKLIgCrSTo93N4dCtGg>
 <xmx:jIoJZ9upBKQPk3B5yKDbhbKkZYIECROseaLFNJnMwkshj08OVp5ch6hu>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 11 Oct 2024 16:28:59 -0400 (EDT)
Message-ID: <59c272ef-9909-4e0a-b3d7-b42fc14e54cc@HIDDEN>
Date: Fri, 11 Oct 2024 23:28:56 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
 <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 11/10/2024 18:10, Spencer Baugh wrote:

>     Or alternatively if we would prefer to err on the side of warning the
>     user that the upstream has diverged, I suppose it's the Hg
>     implementation that would need to change. That can result a simpler
>     mental model and documentation as well. What would be Hg's
>     corresponding
>     selector for "tip of upstream branch"?
> 
> 
> I'm not sure, I don't think there's no way to specify that with an hg 
> revset.  Though like most hg users, I don't actually use branches, I use 
> bookmarks; there's a way to do it with bookmarks, I think. I'll investigate.

Thanks. Or if it doesn't make sense for Hg (for example, if the remote 
tip will always be present locally too), that would also be good, then 
the current implementation is just right.

> I think it's useful to think of these two options relative to vc- 
> outgoing and vc-incoming.  Comparing $1 against $2 is equivalent to 
> getting the diff from $3:
> - working-tree merge-base = vc-outgoing
> - merge-base remote-tip = vc-incoming
> - working-tree remote-tip = vc-outgoing+vc-incoming
> 
> The first two are more useful than the third, I think, since the third 
> mixes together two sorts of diffs, making it ambiguous which is which.

Makes sense.

I think #2 might be more conveniently accessed from vc-log-incoming 
(which is the only way to view the separate commits and messages).

Anyway, it seems instead of vc-root-diff we can use vc-diff-mergebase, 
it has the same completion for revisions. With REV1=@{upstream} and 
REV2="", we'll get #1, with reverse - #2. The full key sequence:

   C-u C-x v M D @{upstream} RET C-j

Note that vc-*-mergebase is only implemented for Git. But 
vc-hg-log-incoming is defined -- that seems to indicate that 'mergebase' 
would be useful to support for it too.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 15:11:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 11:11:06 2024
Received: from localhost ([127.0.0.1]:35000 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szHIH-0008MV-Gi
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 11:11:06 -0400
Received: from mxout5.mail.janestreet.com ([64.215.233.18]:60361)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1szHIF-0008Ln-Ay
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 11:11:04 -0400
Received: from mail-ej1-f71.google.com ([209.85.218.71])
 by mxgoog2.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128)
 (Exim 4.98) id 1szHHw-00000001xte-2SlR for 62940 <at> debbugs.gnu.org;
 Fri, 11 Oct 2024 11:10:44 -0400
Received: by mail-ej1-f71.google.com with SMTP id
 a640c23a62f3a-a9944a87bfcso157215766b.2
 for <62940 <at> debbugs.gnu.org>; Fri, 11 Oct 2024 08:10:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=janestreet.com; s=google; t=1728659443; x=1729264243; darn=debbugs.gnu.org; 
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=kXq5bGW/tZKaoEn/6vwh72HlyHFLf5R9y6WNp/DcMDI=;
 b=AtI/kKTMEs6sYkroozddBY1ae1r9A6WSWQBZPdZJx43S4SOmgF70wwtEVme/KQb7xu
 FiV3fjI3+iQc7vNcE/UwmqHq9gDq8Tg8nTWegB+kIuIk5nXegPiWuPH4QwBd0bpHNJ+V
 SnPGSWYuHI3B2R04zBbCDGfwpMVckZIsv1cQA=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com;
 s=waixah; t=1728659444;
 bh=kXq5bGW/tZKaoEn/6vwh72HlyHFLf5R9y6WNp/DcMDI=;
 h=References:In-Reply-To:From:Date:Subject:To:Cc;
 b=scBwII1DRwqeKttFKmvoWqbtH8R1N4uz++CynB41YZ8mqskwC/kdlTsYa4U5q1Fhy
 pNPplrIjQWdkXIzn+l52EXe3hXp/hRbSd1jRBbEjEGQ+AT8JSzT07c0wGe6YyuyA7Y
 +eDWzG+Iojl9EKxtHaYyooUmyk6rbsgc+Htlu4JmchX9KksXiJtvJdBVpP/7jDIgy1
 z7KniKYZCetj/V0WGa+2yb+fVUHrITvPeIuZF0qFe7uSqBz4jhKQcNCdnBHeFYpD9j
 THrer6sLsnBsJkxbRDadmU1RnnM9sQnA0MT0phZgF1FxpOxfW/wkf7AhPkqhOnJnTT
 QUzyB06Oogk9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728659443; x=1729264243;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=kXq5bGW/tZKaoEn/6vwh72HlyHFLf5R9y6WNp/DcMDI=;
 b=hct/oj1XOoYVy+7aPCLhNGIxZLloU0hbYl6I5uoOmH89kj4571CWqmSsByRwe9GuTC
 0WDmsNLkrz0mARN1EDpkDu+MiESGbvkrIlUOC7BNUt2h/porvd8sutNnJKx5KVzV5BVG
 ytZXYp+8IebV76W+M8d8uDuvYTs1P0lX1q9QwQvhYOd0M3c7uXRidGtBP9XmIYKO1TDe
 BtmdhxYvnoYpzlPwVzlqo4bzL1iDP+V5rAkEnkNksqFspDfSWkvlVhwmahUl3+0yYNiR
 +4ebKH52VM6j0VV4C+519g1V0MMY6m3Aw5JuBjNleSCOd7+txQ2hO77duDyqPt/TPvO0
 EGQQ==
X-Gm-Message-State: AOJu0YwyRf12Iy4qOFQz0krlqgZdu7pshxO5V/EYNRIGGjFgeowUYr1v
 5VV8pb5bcNg7IrbpgUG1ZQRhOdW/7wqLEV3OT+d3jAUnW5PnwZVDS+1YCrsBJAEUAnYDpaZkt+k
 wusWsioGdWcypRSk34ldl+iNeN/mktvqwhYtP+HLcA1mT8Z06f/gsbykUCXkj0exqdHpMNWIKkZ
 XoGiaDdWsaOg9Pc8viq7fwXJDPkQ==
X-Received: by 2002:a17:906:7955:b0:a86:6fb3:fda5 with SMTP id
 a640c23a62f3a-a99b93cb80cmr222998766b.32.1728659443498; 
 Fri, 11 Oct 2024 08:10:43 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IF7fO8nawgcmjSHBipc5MrKK88/qfFsKNEIf7iVh3WgL6bkmb5fCSDk098WuVI/IAwiUTDV+0MFpXWW7SMWuOE=
X-Received: by 2002:a17:906:7955:b0:a86:6fb3:fda5 with SMTP id
 a640c23a62f3a-a99b93cb80cmr222996666b.32.1728659443059; Fri, 11 Oct 2024
 08:10:43 -0700 (PDT)
MIME-Version: 1.0
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
 <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
In-Reply-To: <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
From: Spencer Baugh <sbaugh@HIDDEN>
Date: Fri, 11 Oct 2024 11:10:32 -0400
Message-ID: <CAO=BR8NtA65CHNF9S1ZjGGK=pOKtBpE+_4B-KywRxvEY0kcOiw@HIDDEN>
Subject: Re: bug#62940: 29.0.60;
 vc: no easy way to get diff of all outgoing changes
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000000aa8a3062434e463"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000000aa8a3062434e463
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 11, 2024, 10:39=E2=80=AFAM Dmitry Gutov <dmitry@HIDDEN> wrot=
e:

> On 11/10/2024 04:34, Dmitry Gutov wrote:
> > BTW:
> >
> > On 13/09/2024 23:54, Spencer Baugh wrote:
> >> +(defun vc-git-pushed-revision (_file &optional remote-location)
> >> +  "Return the ref for REMOTE-LOCATION."
> >> +  (if (and remote-location (not (string-empty-p remote-location)))
> >> +      remote-location
> >> +    "@{upstream}"))
> >
> > The function above and the function below
> >
> > +(defun vc-hg-pushed-revision (_file &optional remote-location)
> >> +  "Return a revspec for the last commit not outgoing to REMOTE-
> >> LOCATION."
> >> +  (unless remote-location
> >> +    (setq remote-location ""))
> >> +  (format "last(. and not outgoing(%s))" remote-location))
> >
> > ...seem to be describing different kinds of refs: I think the Hg versio=
n
> > refers to the last commit from the current branch that's present in the
> > remote (the merge base), whereas the Git version points to the tip of
> > the remote branch.
> >
> > Which will be different if the remote has some newer changes added
> > (perhaps someone else has pushed to it). vc-git-log-outgoing won't
> > notice the difference because it uses the ".." range, but vc-git-diff
> > compares two versions directly, so e.g. anything new added to the remot=
e
> > will be shown as removed in such diff.
> >
> > We probably want "merge base with remote" for Git as well (git merge-
> > base @{upstream} HEAD), but it doesn't have a similar short ref syntax.
> >
> > Could use "merge-base(@{upstream})" or "@{upstream}.." as a special
> > value, maybe.
>
> Or alternatively if we would prefer to err on the side of warning the
> user that the upstream has diverged, I suppose it's the Hg
> implementation that would need to change. That can result a simpler
> mental model and documentation as well. What would be Hg's corresponding
> selector for "tip of upstream branch"?
>

I'm not sure, I don't think there's no way to specify that with an hg
revset.  Though like most hg users, I don't actually use branches, I use
bookmarks; there's a way to do it with bookmarks, I think. I'll investigate=
.

I think it's useful to think of these two options relative to vc-outgoing
and vc-incoming.  Comparing $1 against $2 is equivalent to getting the diff
from $3:
- working-tree merge-base =3D vc-outgoing
- merge-base remote-tip =3D vc-incoming
- working-tree remote-tip =3D vc-outgoing+vc-incoming

The first two are more useful than the third, I think, since the third
mixes together two sorts of diffs, making it ambiguous which is which.

>

--0000000000000aa8a3062434e463
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D=
"gmail_attr">On Fri, Oct 11, 2024, 10:39=E2=80=AFAM Dmitry Gutov &lt;<a hre=
f=3D"mailto:dmitry@HIDDEN">dmitry@HIDDEN</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex">On 11/10/2024 04:34, Dmitry Gutov wrote:<br>
&gt; BTW:<br>
&gt; <br>
&gt; On 13/09/2024 23:54, Spencer Baugh wrote:<br>
&gt;&gt; +(defun vc-git-pushed-revision (_file &amp;optional remote-locatio=
n)<br>
&gt;&gt; +=C2=A0 &quot;Return the ref for REMOTE-LOCATION.&quot;<br>
&gt;&gt; +=C2=A0 (if (and remote-location (not (string-empty-p remote-locat=
ion)))<br>
&gt;&gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 remote-location<br>
&gt;&gt; +=C2=A0=C2=A0=C2=A0 &quot;@{upstream}&quot;))<br>
&gt; <br>
&gt; The function above and the function below<br>
&gt; <br>
&gt; +(defun vc-hg-pushed-revision (_file &amp;optional remote-location)<br=
>
&gt;&gt; +=C2=A0 &quot;Return a revspec for the last commit not outgoing to=
 REMOTE- <br>
&gt;&gt; LOCATION.&quot;<br>
&gt;&gt; +=C2=A0 (unless remote-location<br>
&gt;&gt; +=C2=A0=C2=A0=C2=A0 (setq remote-location &quot;&quot;))<br>
&gt;&gt; +=C2=A0 (format &quot;last(. and not outgoing(%s))&quot; remote-lo=
cation))<br>
&gt; <br>
&gt; ...seem to be describing different kinds of refs: I think the Hg versi=
on <br>
&gt; refers to the last commit from the current branch that&#39;s present i=
n the <br>
&gt; remote (the merge base), whereas the Git version points to the tip of =
<br>
&gt; the remote branch.<br>
&gt; <br>
&gt; Which will be different if the remote has some newer changes added <br=
>
&gt; (perhaps someone else has pushed to it). vc-git-log-outgoing won&#39;t=
 <br>
&gt; notice the difference because it uses the &quot;..&quot; range, but vc=
-git-diff <br>
&gt; compares two versions directly, so e.g. anything new added to the remo=
te <br>
&gt; will be shown as removed in such diff.<br>
&gt; <br>
&gt; We probably want &quot;merge base with remote&quot; for Git as well (g=
it merge- <br>
&gt; base @{upstream} HEAD), but it doesn&#39;t have a similar short ref sy=
ntax.<br>
&gt; <br>
&gt; Could use &quot;merge-base(@{upstream})&quot; or &quot;@{upstream}..&q=
uot; as a special <br>
&gt; value, maybe.<br>
<br>
Or alternatively if we would prefer to err on the side of warning the <br>
user that the upstream has diverged, I suppose it&#39;s the Hg <br>
implementation that would need to change. That can result a simpler <br>
mental model and documentation as well. What would be Hg&#39;s correspondin=
g <br>
selector for &quot;tip of upstream branch&quot;?<br></blockquote></div></di=
v><div dir=3D"auto"><br></div><div dir=3D"auto">I&#39;m not sure, I don&#39=
;t think there&#39;s no way to specify that with an hg revset.=C2=A0 Though=
 like most hg users, I don&#39;t actually use branches, I use bookmarks; th=
ere&#39;s a way to do it with bookmarks, I think. I&#39;ll investigate.</di=
v><div dir=3D"auto"><br></div><div dir=3D"auto">I think it&#39;s useful to =
think of these two options relative to vc-outgoing and vc-incoming.=C2=A0 C=
omparing $1 against $2 is equivalent to getting the diff from $3:</div><div=
 dir=3D"auto">- working-tree merge-base =3D vc-outgoing</div><div dir=3D"au=
to">- merge-base remote-tip =3D vc-incoming</div><div dir=3D"auto">- workin=
g-tree remote-tip =3D vc-outgoing+vc-incoming</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">The first two are more useful than the third, I think=
, since the third mixes together two sorts of diffs, making it ambiguous wh=
ich is which.</div><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex">
</blockquote></div></div></div>

--0000000000000aa8a3062434e463--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 14:40:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 10:40:39 2024
Received: from localhost ([127.0.0.1]:34957 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szGop-0006ip-GS
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 10:40:39 -0400
Received: from fhigh-a5-smtp.messagingengine.com ([103.168.172.156]:40019)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1szGon-0006ia-Ut
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 10:40:38 -0400
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfhigh.phl.internal (Postfix) with ESMTP id EBCA71140218;
 Fri, 11 Oct 2024 10:40:19 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-02.internal (MEProxy); Fri, 11 Oct 2024 10:40:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728657619;
 x=1728744019; bh=s0+DzwR2XV/F2jrsdP7z0H+/q253yiOmxn7n415m8q0=; b=
 fFdgS00NKBJ7ze2L4GHYNUcA9HV5bwr3k9ZiqK885lDLuP69Rj/JcJijJpsDU6Eh
 JJbX7ePL05/UZYDGIOyMblNlrDS+Ayw4y5suovmnB6Sc/cSbzuV4C010fHzCl8pZ
 nBFbmMDhJwjqIY9FEAK3HZ1pqi0DXJrhh7KIUPW4t8bwTgOCg4BcevAi1NAlrl+8
 6/QbTwad3uAmppwWg6YY6NAumCWO4ZCzQCsy/xYbv6dPQsJ88MjlFhAwyECuPTvx
 x8u5CTa9h2EBRT6jCsSzIShRVj4LJr9K5f8aEdSeWl+vBp+6OFhJBszG19UIN+nM
 XfYvvmokaKA1CeN+I5tcEA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728657619; x=
 1728744019; bh=s0+DzwR2XV/F2jrsdP7z0H+/q253yiOmxn7n415m8q0=; b=l
 4mmeKXp6oFmwHkQzWXMeYG/k8UA3P9rs65N8iDHinxJFt61IgpVddq0HgXtCkGj9
 Ql5khU8opn+G8//24GjTmb+SNqmXve7Uo6x025EL2ymVm54cGgmxg6GX2bDnyFcN
 8uJ8rK/EhzHXk+XnJ7P8B8ytsMsNGX4Rp5YLxEkxNt69i+A0E6gCCaX7djSOcfNt
 mn1AksadbboOCmS9GnVcfbxRsVaEuZwoNh3up2EbprCT1iEqoQw4jmQ0esB70n/Q
 1vqTkRWhJjeI/tY7mhMbppOHtsDezz5NjBKoSZmcX0r7xYEYcIuEV3HLr/emAmxM
 i3YjIYwQWYaqMMTWZoZOQ==
X-ME-Sender: <xms:0zgJZ7hcQuS49cUaS4kYMqX10Q-8zxX1de2eVkGdAjvvBT4DL4S6NA>
 <xme:0zgJZ4DmJCEePsUmruOhWo6ACL0D57J4250NJ5hQjZPoxXTwpVCRNQ4y8hXKnRXpL
 jqeI6UYTvHw1stldtM>
X-ME-Received: <xmr:0zgJZ7F8LblLnmVCUkAjCK2wIuo7mk18szSjwd9RYryJjj3b2pvWbkiyKn9j3QmPyQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefkedgjeekucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrgh
 dprhgtphhtthhopehssggruhhghhesjhgrnhgvshhtrhgvvghtrdgtohhmpdhrtghpthht
 ohepiedvleegtdesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehfghhunh
 gsihhnsehfrghsthhmrghilhdrfhhm
X-ME-Proxy: <xmx:0zgJZ4SJdGwT6x8KR1xKcJCK1y72d6-Or4xAg0l8OdhZ7Zr1sMZaPQ>
 <xmx:0zgJZ4zpHlsuWt1gy8Hf2dUiWGatfRedWixaCr65Wf85lVBq908hgw>
 <xmx:0zgJZ-7U88cLZnwHaM9kT8JRoYxleEdgz0GZ_6wlISg0frl7iSSYQg>
 <xmx:0zgJZ9wOJVYAPcvw_8d4Neypzg8ItxTnKo7qj88jrazmNX6kPUw4Nw>
 <xmx:0zgJZysdvz3_B6PV6Sz90qteEp2IJgdJG2MrSc8-yVHoD0BNqSfZgtc1>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 11 Oct 2024 10:40:17 -0400 (EDT)
Message-ID: <a9f122e2-28fb-4a0d-9659-fde90ab732f5@HIDDEN>
Date: Fri, 11 Oct 2024 17:40:14 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Eli Zaretskii <eliz@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> <86r09miu90.fsf@HIDDEN>
 <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN> <86msjc34u5.fsf@HIDDEN>
 <30132e72-ad22-493a-b89e-cffcedeee705@HIDDEN> <86v7xzyxyz.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86v7xzyxyz.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 11/10/2024 09:07, Eli Zaretskii wrote:
>> +@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This prompts
>> +for two revision IDs (@pxref{VCS Concepts}), and displays a diff between
>> +those versions of the fileset.  The first one has several default
>> +values: the revision before the last one when the fileset changed, and
>> +the last revision of the current branch's upstream.
>> +The second defaults to nil, which means the contents of
>     ^^^^^^^^^^
> "Second" is ambiguous here (because of how the previous sentence
> ends), so I suggest to say "The second revision ID" instead to
> disambiguate it.

Okay, that works.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 14:39:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 10:39:54 2024
Received: from localhost ([127.0.0.1]:34949 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szGo6-0006ZA-19
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 10:39:54 -0400
Received: from fhigh-a5-smtp.messagingengine.com ([103.168.172.156]:45587)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1szGo3-0006Yw-IK
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 10:39:53 -0400
Received: from phl-compute-04.internal (phl-compute-04.phl.internal
 [10.202.2.44])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 85027114020F;
 Fri, 11 Oct 2024 10:39:32 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-04.internal (MEProxy); Fri, 11 Oct 2024 10:39:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728657572;
 x=1728743972; bh=VduGzp4QU9u+VLGqFLZiS4rY7A6uUlkvpNndBRWtok0=; b=
 GrLVKaZhgOJloVnkUM6bS5LAAFetE7R81DygMXAhhSUHzvQFw6C2LNxcF+8q1AyJ
 YIH9bnSNY3mfAf9hLoXvUG1YxSFyJuiknMjcSeJtQ6uPPiDrUldYHLlVoWqJTLEk
 8RnBMhZT4kMM646PafBFrQk6e40hhbPLOmVA6NhzodE1taLgOnuzMEcN/F84aIXZ
 UxB2yxIFVHxvFPg9gkb8d+pEfPm5G+R63RZuhbLoW/oTjH9c2Vro9SGFyXW1I5mP
 AukWi30Qect417M8wlmqnappMpDDd3iDa7u0p+Jkmhlc7l/jlyvxzQK5IVPIrd0O
 WGSF5xOK2iA7l8JwXNFR5Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728657572; x=
 1728743972; bh=VduGzp4QU9u+VLGqFLZiS4rY7A6uUlkvpNndBRWtok0=; b=E
 Ur+VVCMbt5QmrZLXcGgmSeEH/Cfu/fKHLZFouYBRJVbdFty34ZYFSx37VHWMSFP4
 SWXDF3aW/XO2hVgPBmG+mHfIl2nt/bOxEMuPfNid8qbgelKqa55Ps+7mptQWcZDg
 JzqQrZtREgAFn6lOctG+Zdy2E/lfYyUaOlaKIDQeWHKR/HlRCYooR9UfPsb7+UUC
 pffXVS1RAA03Fv5tS7DVyFwkgXtE6sc4vYKCZ8nsP/Iar+OHlY5vdeqXX8A86u5v
 msk1sRNJVW2peT/q+fPitu0Q0A56CrYmcmptVO9T5CPAYroP6haXWieJJtpdJoNj
 hWs0kHUQu2EURir2B7heg==
X-ME-Sender: <xms:pDgJZxA3jAnS95FNasiUno34LEcr90fpyAQQpDhUEQBjxoOLjEUH0A>
 <xme:pDgJZ_jt4fRdFykQ9dTigz5ReETAk8xVTnhnvFl9uQe5SNk-GPlOo0N2uAuN3HYaq
 meZIW9wxHJaShTw0-c>
X-ME-Received: <xmr:pDgJZ8l6_6cEOZQOzvor9OpoMMeYxlwBVeQm_StKzoGxydbKtQOaA5TV0L3qCAKn1A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefkedgjeekucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffhvfevfhgjtgfgsehtkeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepvdelieejveekjeelffegudeiudejfffhveduudff
 vdevteekgeevffejgfffleeunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehssggruhhghhesjhgrnhgvsh
 htrhgvvghtrdgtohhmpdhrtghpthhtohepiedvleegtdesuggvsggsuhhgshdrghhnuhdr
 ohhrghdprhgtphhtthhopehfghhunhgsihhnsehfrghsthhmrghilhdrfhhm
X-ME-Proxy: <xmx:pDgJZ7xJR9RcHjVQbssuUN4Sc36xJX-oxgh_Lohv2rnR-TTuG3XCUA>
 <xmx:pDgJZ2QRLaynq7rJOkq2YjLu7XdK1lD1YkZU4ohAGluWbcN10Mhbvw>
 <xmx:pDgJZ-bb5g0ZirOFPSdCVuLuDsSz0ICvzh7Yzx8uIUgtnL4lmoeW3w>
 <xmx:pDgJZ3TWgfMiR1c7_PvuA0E-kzx5OfW3x0nHUsqISGgR1KUcXmg12w>
 <xmx:pDgJZ0eYPLW4zyGV29ZzAxNbdkDTYeVNHpvgeT8dDI9qwX1mkj4PzCd3>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 11 Oct 2024 10:39:30 -0400 (EDT)
Message-ID: <ba79a52d-7ea3-4797-a864-4b7e8c8e7060@HIDDEN>
Date: Fri, 11 Oct 2024 17:39:26 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
From: Dmitry Gutov <dmitry@HIDDEN>
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
Content-Language: en-US
In-Reply-To: <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 11/10/2024 04:34, Dmitry Gutov wrote:
> BTW:
> 
> On 13/09/2024 23:54, Spencer Baugh wrote:
>> +(defun vc-git-pushed-revision (_file &optional remote-location)
>> +  "Return the ref for REMOTE-LOCATION."
>> +  (if (and remote-location (not (string-empty-p remote-location)))
>> +      remote-location
>> +    "@{upstream}"))
> 
> The function above and the function below
> 
> +(defun vc-hg-pushed-revision (_file &optional remote-location)
>> +  "Return a revspec for the last commit not outgoing to REMOTE- 
>> LOCATION."
>> +  (unless remote-location
>> +    (setq remote-location ""))
>> +  (format "last(. and not outgoing(%s))" remote-location))
> 
> ...seem to be describing different kinds of refs: I think the Hg version 
> refers to the last commit from the current branch that's present in the 
> remote (the merge base), whereas the Git version points to the tip of 
> the remote branch.
> 
> Which will be different if the remote has some newer changes added 
> (perhaps someone else has pushed to it). vc-git-log-outgoing won't 
> notice the difference because it uses the ".." range, but vc-git-diff 
> compares two versions directly, so e.g. anything new added to the remote 
> will be shown as removed in such diff.
> 
> We probably want "merge base with remote" for Git as well (git merge- 
> base @{upstream} HEAD), but it doesn't have a similar short ref syntax.
> 
> Could use "merge-base(@{upstream})" or "@{upstream}.." as a special 
> value, maybe.

Or alternatively if we would prefer to err on the side of warning the 
user that the upstream has diverged, I suppose it's the Hg 
implementation that would need to change. That can result a simpler 
mental model and documentation as well. What would be Hg's corresponding 
selector for "tip of upstream branch"?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 06:07:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 02:07:25 2024
Received: from localhost ([127.0.0.1]:33168 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sz8o9-0004BI-Ab
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 02:07:25 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45326)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sz8o7-0004B5-Pm
 for 62940 <at> debbugs.gnu.org; Fri, 11 Oct 2024 02:07:24 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sz8np-0005Ml-JA; Fri, 11 Oct 2024 02:07:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ae50GFvsRNC0l7E34Lo6cc6PrZqdWxlyphpk5ElD1aA=; b=MBzEv9wl0e5e
 11sSGNMB2y/OydowwuSD4wBkpqBFgXtDvapZ65GAoE6phv/PQJ9SPHqAqs5PsE1xqjmM3C+NdCL9F
 uaCXZ32I0UuOJLgSzhftcz7FnuhdbjTkbpzYoqmth7joHw0KEB1cNyo5FQ/INgbWUPn+BAnOpPT5D
 ZluzfTO5W3vVV2c68UXd2GkLQajU7eCE5PMO/wGN1jcw26bbYMAveGX2MrOEev/V1c2r2hcTKZFPb
 /UVeYFes2UlkJolrIqlbdkbsbYI2QOL2Lpf0EKRK7V1+RgKnsPhEDdOK6F+hqLK/ULjCF/8Ia6syZ
 wFWOVRz7mB+MYVfqNCQ+uA==;
Date: Fri, 11 Oct 2024 09:07:00 +0300
Message-Id: <86v7xzyxyz.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <30132e72-ad22-493a-b89e-cffcedeee705@HIDDEN> (message from
 Dmitry Gutov on Fri, 11 Oct 2024 04:13:24 +0300)
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> <86r09miu90.fsf@HIDDEN>
 <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN> <86msjc34u5.fsf@HIDDEN>
 <30132e72-ad22-493a-b89e-cffcedeee705@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Fri, 11 Oct 2024 04:13:24 +0300
> Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> Okay, check out this attempt. It might be considered too cluttered. 
> Perhaps you will have suggestions for improvement.

This LGTM, thanks.  One minor nit:

> +@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This prompts
> +for two revision IDs (@pxref{VCS Concepts}), and displays a diff between
> +those versions of the fileset.  The first one has several default
> +values: the revision before the last one when the fileset changed, and
> +the last revision of the current branch's upstream.
> +The second defaults to nil, which means the contents of
   ^^^^^^^^^^
"Second" is ambiguous here (because of how the previous sentence
ends), so I suggest to say "The second revision ID" instead to
disambiguate it.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 01:34:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 10 21:34:55 2024
Received: from localhost ([127.0.0.1]:32770 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sz4YR-0006JX-G1
	for submit <at> debbugs.gnu.org; Thu, 10 Oct 2024 21:34:55 -0400
Received: from fout-a8-smtp.messagingengine.com ([103.168.172.151]:54441)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1sz4YP-0006JJ-KJ
 for 62940 <at> debbugs.gnu.org; Thu, 10 Oct 2024 21:34:54 -0400
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfout.phl.internal (Postfix) with ESMTP id ED1A513802B2;
 Thu, 10 Oct 2024 21:34:35 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-07.internal (MEProxy); Thu, 10 Oct 2024 21:34:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728610475;
 x=1728696875; bh=nRilt0d9aM23DmJH2NDOH1HrpkeDKpyqwdoFNL9yg8w=; b=
 kavhpBuAM40Fq9xaCE5324UYVyhp85P96RIVq93/XWLV4zaDODdMK8elThiXWG9q
 D4kYsKSnmNHwX+F3x+CALxSSNnZKJLPcNbtXQR8PIOg1uGRVNRAexkPSO0HmaA9Y
 eb6APe5R9YmGS6d0aP4qR+NJTeqzvgwEl3lFKOeAvzQBoU3l/HTW/Lop3F0/rcW3
 xPz4uD3qaTrltdklUOdQ91BbykgbKpp/fiJhr+B7I58tP0SX+DwNQYKQc0ude0xB
 nyMtSlrrExGVTIbgyPY2EoNNFtxAjrfXA7eJovTYERBqbKtWaio2rrmI9cd0nUzQ
 OhAy5UZaThj7bbefzuhQHg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728610475; x=
 1728696875; bh=nRilt0d9aM23DmJH2NDOH1HrpkeDKpyqwdoFNL9yg8w=; b=L
 BUarcjoQs9ul2EQZy2l1VaypgBmHvMe3pkcxeG9L55AUMckVrbdIiYexdYEOCUvW
 bFKk2mgQ/ZSD4LHYT0v68zHYO75qBHQRV1S3RYTZhExp14DriCscHkVK7xBQ4Ih8
 3Cjh4wENV+v1XWakw9jLuwfK6x1FuZS0voIW8zIU5sGUzFuEdkj6icBMLVuK6yAP
 5XIj2+5uzPAKeGa1Y2o7L3s2agRkvX9TMjDWAVIRB62hHUXfoQhvCtXwKYs1gQLm
 0ub937wY0bNvVikwHzBulkoMeI9Md7AP+OGNhgf/cMe8Fa07IjEV2cj1GBv3NOYH
 TUFH8O6M/zCjBhraDjYMA==
X-ME-Sender: <xms:q4AIZ2Mrw2VlTFRnuG5qEnjOUSYbM4MEjkN1_Zgt2WXXweTACcPotA>
 <xme:q4AIZ0-HTs69-hnXLeX1RqYmo73gFjYFV40uciv8ul085E8bsLeGTUWv0uck9w5K6
 EgKC9xSgpv1WXXPBoE>
X-ME-Received: <xmr:q4AIZ9TuNJuoV7AY3dGtz24BsklVAP8KIscnynH_YVQwfgzzn7xsTvv0868sCfy4yjCYWhKi5CNbe-Q-DB09CoIklqsqBg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefjedghedtucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehssggruhhghhesjhgrnhgvsh
 htrhgvvghtrdgtohhmpdhrtghpthhtohepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhf
 mhdprhgtphhtthhopeeivdelgedtseguvggssghughhsrdhgnhhurdhorhhg
X-ME-Proxy: <xmx:q4AIZ2uUb-x4XYhTEEPAUKLFWMkkrec71civgQ-_jySdKJD1Uz3_mg>
 <xmx:q4AIZ-cXwsOcMRp7F1NKtmt4kpTr8nV4ws-gv9Gcm_xQ-JD9s4pskQ>
 <xmx:q4AIZ61T-JaL6K43JU1EfJT6BJaQJ7F6UpDrKe-uNxr4Lp32WdFN2Q>
 <xmx:q4AIZy-gAv-_Z_emopkh5XLKMH6BxgBBJDawtf-Wakwneql6p8avew>
 <xmx:q4AIZ-6hpCIyYgxPtzR2IAZH-_wcOCcAxMLJMcQajX6eDMt_TfovR8Sw>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 10 Oct 2024 21:34:34 -0400 (EDT)
Message-ID: <f4a2ba60-5c38-471d-b1c1-1fade74f24c8@HIDDEN>
Date: Fri, 11 Oct 2024 04:34:32 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <ier7cbfp94q.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

BTW:

On 13/09/2024 23:54, Spencer Baugh wrote:
> +(defun vc-git-pushed-revision (_file &optional remote-location)
> +  "Return the ref for REMOTE-LOCATION."
> +  (if (and remote-location (not (string-empty-p remote-location)))
> +      remote-location
> +    "@{upstream}"))

The function above and the function below

+(defun vc-hg-pushed-revision (_file &optional remote-location)
> +  "Return a revspec for the last commit not outgoing to REMOTE-LOCATION."
> +  (unless remote-location
> +    (setq remote-location ""))
> +  (format "last(. and not outgoing(%s))" remote-location))

...seem to be describing different kinds of refs: I think the Hg version 
refers to the last commit from the current branch that's present in the 
remote (the merge base), whereas the Git version points to the tip of 
the remote branch.

Which will be different if the remote has some newer changes added 
(perhaps someone else has pushed to it). vc-git-log-outgoing won't 
notice the difference because it uses the ".." range, but vc-git-diff 
compares two versions directly, so e.g. anything new added to the remote 
will be shown as removed in such diff.

We probably want "merge base with remote" for Git as well (git 
merge-base @{upstream} HEAD), but it doesn't have a similar short ref 
syntax.

Could use "merge-base(@{upstream})" or "@{upstream}.." as a special 
value, maybe.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 11 Oct 2024 01:13:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 10 21:13:49 2024
Received: from localhost ([127.0.0.1]:60976 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sz4E1-0005EX-7w
	for submit <at> debbugs.gnu.org; Thu, 10 Oct 2024 21:13:49 -0400
Received: from fout-a8-smtp.messagingengine.com ([103.168.172.151]:53455)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1sz4Dx-0005EI-A6
 for 62940 <at> debbugs.gnu.org; Thu, 10 Oct 2024 21:13:48 -0400
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfout.phl.internal (Postfix) with ESMTP id A689D13801AE;
 Thu, 10 Oct 2024 21:13:27 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Thu, 10 Oct 2024 21:13:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728609207;
 x=1728695607; bh=12SsXtRnrbz+mMQb+TTKqUusQ/8ApnY3HHo1ck4tsys=; b=
 EXJ5wAWxUEHK+hxPngiMOzjFlBGJxZJw/rJuCZjxZSxzVP9vzMt9qv5qHssB6kSh
 2kLx3agWrYcUiiBwjZ0/wubaxMjosmuO1EwSlvI6fcxkSM+CY2+MYb9gC9x7yUxe
 gKVHxo9QWLf5SpPTIkuSkRr5rEhsY6z0TOQtyHlLklrQyU3Tp+b7hJaEBXcqtGa7
 HkQWrRh9RNWbm8hUfy4k4qR7eczkNVCoc96WX9EPJ+yOxK7neB6Fuzw2Jw3lNicO
 Bs/hkegKr2oKhPHECaHw3Gy2n+EimgnuE7MMJLAFZEi9RIX1mtc07+kG1SzX1R3U
 L642bpgcdMfYRaoTJTtZ6w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728609207; x=
 1728695607; bh=12SsXtRnrbz+mMQb+TTKqUusQ/8ApnY3HHo1ck4tsys=; b=L
 Q4NMbNmuw6r6b5GyVGO41RZ38Vqe2OZpOfrT60cHnH1WxDRj7rxqu5yN2kYEvX1G
 Rds1rBTpWd4QxgEaNiq7XGBaKPi6E2C1F01auE8ctS/hoeJI5hjNIpalzVZ1bcqI
 6+eXl8SZu7TPqkoWgtikg5NuOHXbetiIazEHubqrDyeoBJ9bhcrix9VqKsobhGFK
 pUwE6Hj6+y8gjMGAa8/beUcU9x7n9MC0hG57GgT5U0EqO4JohRTX/Z2BSvKHtKAH
 qIAjk6TT6xgZJ8C1CsNd/GiKdpxY+NYxfb1NtBRNtqcT2en4+Kc8OCo1urEYs8mt
 +1rI6AalkfWi1hJ0G1+fQ==
X-ME-Sender: <xms:t3sIZ82Q_DffRYOAARMJ1ESew88zIoHs9YJWfyOoej-GXq4i19ps6w>
 <xme:t3sIZ3Hxk0uhuyuei63jqyGUrtCgrzPWJ_g9zxrwJo75lG9X39vxWgi05dIGvIEZc
 iCpMtR4ok6rt40E900>
X-ME-Received: <xmr:t3sIZ06rdaKTO10PcYAbAQVOzXO5frsNEY4GMbfZvu3pXlcZXH7ZNyAoDrgyOMrwlwTOIN4p-F1jeXoFY-i-ohQQKLMQTA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefjedggeehucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrgh
 dprhgtphhtthhopehssggruhhghhesjhgrnhgvshhtrhgvvghtrdgtohhmpdhrtghpthht
 ohepiedvleegtdesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehfghhunh
 gsihhnsehfrghsthhmrghilhdrfhhm
X-ME-Proxy: <xmx:t3sIZ11wzbgG3TcINJ4iZs7TaJm_qio8r6--Uz9M53kcwnireM93Yw>
 <xmx:t3sIZ_EpbLpFbjt2EGWcfq-taqPiCIA-i-JLqpSmHqGrC1h0NCjyTg>
 <xmx:t3sIZ-_9zradTxavnEJnDwEpF2DODY173siiGglwWf__VJsWt6_gkg>
 <xmx:t3sIZ0lqOJvQY0PpvJiGKApCjc5V0kU0XRV9oZXzs-lshFvDJA6hNQ>
 <xmx:t3sIZziZxxRYtexqqH3I6L5KIFVb56iM9Vi6oXlvJ1eSQCfoDM4ZLpW2>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 10 Oct 2024 21:13:26 -0400 (EDT)
Message-ID: <30132e72-ad22-493a-b89e-cffcedeee705@HIDDEN>
Date: Fri, 11 Oct 2024 04:13:24 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Eli Zaretskii <eliz@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> <86r09miu90.fsf@HIDDEN>
 <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN> <86msjc34u5.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86msjc34u5.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 10/10/2024 08:27, Eli Zaretskii wrote:
>> Date: Thu, 10 Oct 2024 03:26:23 +0300
>> Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
>> From: Dmitry Gutov <dmitry@HIDDEN>
>>
>> On 14/09/2024 10:12, Eli Zaretskii wrote:
>>> More importantly, this change must be accompanied with a suitable
>>> update of the user manual, where we should explain what commit is
>>> suggested as the default.  "Last pushed revision" is somewhat vague
>>> and inaccurate, because the user could switch branches or remotes, or
>>> do something else.  We should find a more accurate description.  Also,
>>> the doc string of vc-root-diff needs to be updated with this
>>> information.
>>
>> I wonder how you'd like to see these changes described.
> 
> What I had in mind was to explain what we mean by "last pushed
> revision".  AFAICT, you use "the previous revision when the fileset
> changed" instead.  IMO, this terminology has the same problem: it
> doesn't account for changing branches or remotes, for example.  We
> should somehow qualify the description by those situations (which I
> agree are somewhat exceptional, but definitely not rare enough to be
> ignored).

Not sure what you mean by changing branches, given the revision default 
that is used is determined by the tip of the local branch.

> Moreover, the patch to which I posted the comments uses
> "last pushed revision" all over the place, so if we want to use your
> proposed terminology instead, we had better modified the doc strings
> to use it as well.

It's another term, we'll actually need both (possibly rephrased).

>> If we also add the story about the second default being the upstream
>> revision, with a description of how such is determined, it might
>> overload the text. Maybe for no good reason if most people don't use
>> 'C-u' with 'C-x v =' anyway, even if for some it's handy.
> 
> I don't see a reason why explaining that should take more than a
> couple of sentences.
> 
>> Should this be a whole separate node, "Reading Revisions for Diff With
>> Completion"?
> 
> I don't think that is needed.  If we think some parts of the
> description are "too much detail", we could have them in footnotes.

Okay, check out this attempt. It might be considered too cluttered. 
Perhaps you will have suggestions for improvement.

diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 99219b7f5d7..d50219f0688 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -881,13 +881,16 @@ Old Revisions

  @kindex C-u C-x v =
    To compare two arbitrary revisions of the current VC fileset, call
-@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This
-prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
-diff between those versions of the fileset.  This will not work
-reliably for multi-file VC filesets, if the version control system is
-file-based rather than changeset-based (e.g., CVS), since then
-revision IDs for different files would not be related in any
-meaningful way.
+@code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This prompts
+for two revision IDs (@pxref{VCS Concepts}), and displays a diff between
+those versions of the fileset.  The first one has several default
+values: the revision before the last one when the fileset changed, and
+the last revision of the current branch's upstream.
+The second defaults to nil, which means the contents of
+the work tree.  This will not work reliably for multi-file VC filesets,
+if the version control system is file-based rather than changeset-based
+(e.g., CVS), since then revision IDs for different files would not be
+related in any meaningful way.

    Instead of the revision ID, some version control systems let you
  specify revisions in other formats.  For instance, under Bazaar you
@@ -921,6 +924,9 @@ Old Revisions
  prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
  diff between those versions of the entire version-controlled directory
  trees (RCS, SCCS, CVS, and SRC do not support this feature).
+The first one has several default values: the revision before the last
+one when the fileset changed, and the last revision of the current
+branch's upstream.

  @vindex vc-diff-switches
    You can customize the @command{diff} options that @kbd{C-x v =} and





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 10 Oct 2024 05:28:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 10 01:28:04 2024
Received: from localhost ([127.0.0.1]:58365 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1syliW-0001oi-32
	for submit <at> debbugs.gnu.org; Thu, 10 Oct 2024 01:28:04 -0400
Received: from eggs.gnu.org ([209.51.188.92]:47000)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1syliR-0001oA-O3
 for 62940 <at> debbugs.gnu.org; Thu, 10 Oct 2024 01:28:02 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1syliA-0003lG-Ps; Thu, 10 Oct 2024 01:27:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=8pxvprXZe0bKsVYfeExw7qdX9iJiGR72WyXNHWTGdcg=; b=pWMTz5nzlfW2
 6WLELJmDvTr4UCPP8SPXUWtPyu1iYEprWmjOMyoZtpiZ1RY5beG1R3AzBQHtKqWntueWFMbhEYe2d
 +UD1XMlf/1RrusuHAcmqO8Pbf4MScZQOxpTO84cvUDopD7hH7iwf3Gr1lp0ZOx/6ViXBuYIbA/5Ab
 8cTh4ixe+mWMPJk6dTffZ/UGZZo29GNSuT9vNAkXmPAqHjiHqoHDK0QQlJG0dn9zV9Y4CxGRoxFfo
 pMHHzKLgjCMW4FmxENFOon0HRuPNj+QgSNzjiZytYje4aV1MfiLml8dos5I0BbO15k1eAG7zwDh5Z
 9Bp3P3d6H02K0QLqa1NuAA==;
Date: Thu, 10 Oct 2024 08:27:30 +0300
Message-Id: <86msjc34u5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN> (message from
 Dmitry Gutov on Thu, 10 Oct 2024 03:26:23 +0300)
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> <86r09miu90.fsf@HIDDEN>
 <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Thu, 10 Oct 2024 03:26:23 +0300
> Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> On 14/09/2024 10:12, Eli Zaretskii wrote:
> > More importantly, this change must be accompanied with a suitable
> > update of the user manual, where we should explain what commit is
> > suggested as the default.  "Last pushed revision" is somewhat vague
> > and inaccurate, because the user could switch branches or remotes, or
> > do something else.  We should find a more accurate description.  Also,
> > the doc string of vc-root-diff needs to be updated with this
> > information.
> 
> I wonder how you'd like to see these changes described.

What I had in mind was to explain what we mean by "last pushed
revision".  AFAICT, you use "the previous revision when the fileset
changed" instead.  IMO, this terminology has the same problem: it
doesn't account for changing branches or remotes, for example.  We
should somehow qualify the description by those situations (which I
agree are somewhat exceptional, but definitely not rare enough to be
ignored).  Moreover, the patch to which I posted the comments uses
"last pushed revision" all over the place, so if we want to use your
proposed terminology instead, we had better modified the doc strings
to use it as well.

> If we also add the story about the second default being the upstream 
> revision, with a description of how such is determined, it might 
> overload the text. Maybe for no good reason if most people don't use 
> 'C-u' with 'C-x v =' anyway, even if for some it's handy.

I don't see a reason why explaining that should take more than a
couple of sentences.

> Should this be a whole separate node, "Reading Revisions for Diff With 
> Completion"?

I don't think that is needed.  If we think some parts of the
description are "too much detail", we could have them in footnotes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 10 Oct 2024 00:26:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 09 20:26:48 2024
Received: from localhost ([127.0.0.1]:58013 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1syh0y-0002SM-0P
	for submit <at> debbugs.gnu.org; Wed, 09 Oct 2024 20:26:48 -0400
Received: from fhigh-a6-smtp.messagingengine.com ([103.168.172.157]:37813)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1syh0t-0002S0-UN
 for 62940 <at> debbugs.gnu.org; Wed, 09 Oct 2024 20:26:46 -0400
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfhigh.phl.internal (Postfix) with ESMTP id CE0D61140103;
 Wed,  9 Oct 2024 20:26:27 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-08.internal (MEProxy); Wed, 09 Oct 2024 20:26:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1728519987;
 x=1728606387; bh=h0xgGR62umczhJON/oxSvsFBwnioBCjwyR67MUvxORg=; b=
 UMkRC/Fojwg9lKM1L0/Ci8KRLgjy2vUqzdqUwBEFdgBpKbb3rykR6eMW81xZcKAF
 GeT2gG5MwU1yPXIzXvFTxQAsOc0O1IiSb+41ilDed9tNmEssCGTsMZi/1FIzEBHA
 Kwwoz5lKPsh5ffCO2jn0bmkUamhZCwfabADFjmWokCpqFss4sZzApUpHXiNgQyO7
 INJ6l+jhjQNo30qflT5CJWDpiwKTwQ6MMlaHp5qp5fUt+z1UhI51DODJZbAEQUDd
 C1bx0r8TQzx1ngi7BlYissxpvMBK3SyY3Xnyn4QOkyF2n9haeEhLn1TJZlXZUkCa
 RvTX98alYyaCtuGQub1oYg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728519987; x=
 1728606387; bh=h0xgGR62umczhJON/oxSvsFBwnioBCjwyR67MUvxORg=; b=Z
 SRww4EyLcKnM3JSfEsIvdpWqw+ev2k96gNzFvRsZZn803D+I9sF3k0vuiaLk/hWd
 MyFxTXHeX9PcnvoQLV5nz1OQyAG8A1N4HGTl3VbZugkkMuEAYYK7LZfWb+DsKcTo
 ovX0B/J7Hety1lIpN0kfRJgEx9MOavmg1WCpMamOvUL/LPQgKdDIaaaHYXR5ZTEw
 iN4eG/YdBqnzdmdjJmb0dugK9OrjYaYDenXt/qxzChv/LCWqiaeKwtPC9f9Z2JcK
 mcxUUefNMiXMnWOhBMrv4Cw2Im7FNDN6HK7wxt3GIZqCtVrhB7BW8vQkN9ZjT40Y
 u8jWs3+lRoyI4xbmFZRKA==
X-ME-Sender: <xms:Mx8HZ7l0ePOf8M6rJv0luZFNlPrcWTFpsH5DW7Cjxtqi3z3-duxPYg>
 <xme:Mx8HZ-0EqjMBxmcLc4kPC3NEo3htogXAH5n2qGIClYZ0Ci6V0llzOIA-3z3vGRXNa
 F6TWG9ggF9AvQwJucA>
X-ME-Received: <xmr:Mx8HZxpfrcd9Q2AIPW4ibXvu8-MBdm25rNcFchVQvUoUSrrYiMXIdRzUxNbTKGV5k7Iko9FlEpbT0tZEyX4GGZ5-U0g4aA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefgedgfeehucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrgh
 dprhgtphhtthhopehssggruhhghhesjhgrnhgvshhtrhgvvghtrdgtohhmpdhrtghpthht
 ohepiedvleegtdesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehfghhunh
 gsihhnsehfrghsthhmrghilhdrfhhm
X-ME-Proxy: <xmx:Mx8HZzlGHkUU76tcvgQYXIT6VgLVO32B75zMEjBiWXovS1BTSz2G-g>
 <xmx:Mx8HZ53gygdd4V_UHoqqR_0DZ_BuPRL0nQTSrz9T2QN3jWvRkRtSCw>
 <xmx:Mx8HZytN0U58BasoZne8G_z3hvPtLI2SsDygJ3xiXfGLymdZJvIxfQ>
 <xmx:Mx8HZ9UOtHp0Ehq_3NACnv_hHDwxFjAK27haNvLVfHB7an3BAy46oQ>
 <xmx:Mx8HZ0TDJmvKmg7yv3JFFyY7BXKAnvDSk9Bj6bhALH-uA6I5imCh7L1n>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 9 Oct 2024 20:26:26 -0400 (EDT)
Message-ID: <030ceec6-427a-49af-a42e-2ad11f9a591b@HIDDEN>
Date: Thu, 10 Oct 2024 03:26:23 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Eli Zaretskii <eliz@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> <86r09miu90.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86r09miu90.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Eli,

On 14/09/2024 10:12, Eli Zaretskii wrote:
> More importantly, this change must be accompanied with a suitable
> update of the user manual, where we should explain what commit is
> suggested as the default.  "Last pushed revision" is somewhat vague
> and inaccurate, because the user could switch branches or remotes, or
> do something else.  We should find a more accurate description.  Also,
> the doc string of vc-root-diff needs to be updated with this
> information.

I wonder how you'd like to see these changes described.

For example, here's how I could document the just-pushed change 
(related, but for a different bug), rev a295d7de9e8.

If we also add the story about the second default being the upstream 
revision, with a description of how such is determined, it might 
overload the text. Maybe for no good reason if most people don't use 
'C-u' with 'C-x v =' anyway, even if for some it's handy.

Should this be a whole separate node, "Reading Revisions for Diff With 
Completion"?

diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 99219b7f5d7..ba60bfddcd1 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -883,11 +883,12 @@ Old Revisions
    To compare two arbitrary revisions of the current VC fileset, call
  @code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This
  prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
-diff between those versions of the fileset.  This will not work
+diff between those versions of the fileset.  The first one defaults to
+the previous revision when the fileset changed, and the second defaults
+to nil, which means the contents of the work tree.  This will not work
  reliably for multi-file VC filesets, if the version control system is
-file-based rather than changeset-based (e.g., CVS), since then
-revision IDs for different files would not be related in any
-meaningful way.
+file-based rather than changeset-based (e.g., CVS), since then revision
+IDs for different files would not be related in any meaningful way.

    Instead of the revision ID, some version control systems let you
  specify revisions in other formats.  For instance, under Bazaar you
@@ -920,7 +921,9 @@ Old Revisions
  @code{vc-root-diff} with a prefix argument: @kbd{C-u C-x v D}.  This
  prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
  diff between those versions of the entire version-controlled directory
-trees (RCS, SCCS, CVS, and SRC do not support this feature).
+trees (RCS, SCCS, CVS, and SRC do not support this feature).  The first
+one defaults to the previous revision when the fileset changed, and the
+second defaults to nil, which means the contents of the work tree.

  @vindex vc-diff-switches
    You can customize the @command{diff} options that @kbd{C-x v =} and





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 14 Sep 2024 07:12:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 14 03:12:48 2024
Received: from localhost ([127.0.0.1]:44605 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1spMxb-0001SX-QN
	for submit <at> debbugs.gnu.org; Sat, 14 Sep 2024 03:12:48 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45740)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1spMxZ-0001SC-Bd
 for 62940 <at> debbugs.gnu.org; Sat, 14 Sep 2024 03:12:46 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1spMxJ-0006um-RN; Sat, 14 Sep 2024 03:12:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=p9otjhzS0OcvOBCW7y52gdp/UE0gaWoycNPmXHenSL4=; b=Wuls8CxG536L
 QTf5WsdBgrX/97P5GrZ3wc4MigsSmbt/cR+m2hcyhRB5E59AlGRd7sDxmEetalXW9jxd0dydK2QNx
 7Jmt+6PkVxfdIZFFqyQzQcxuTw1r6VwFbIBP3Ab/XG+7PVG1Fi6USf92OQT9IHwWuKLCrWQU6QEe2
 rTRcsDBeO5g8/OhPGnjfnkJSm8whDsuMgdDlyNEnjFv29YfoeevOjOb7ZY8ZtWiH7RSlgLc7c2/43
 9/whrP+aUt7pNBfsOq3BxF79+HJyS4G/XBchxs+b6NYpjaVuEIldtbSp4bjYF7svmVvw0SMC69jqD
 6wr1ijn5seCP+xlRtDRiQA==;
Date: Sat, 14 Sep 2024 10:12:27 +0300
Message-Id: <86r09miu90.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN> (message from
 Dmitry Gutov on Sat, 14 Sep 2024 05:11:48 +0300)
Subject: Re: bug#62940: 29.0.60;
 vc: no easy way to get diff of all outgoing changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
 <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
> Date: Sat, 14 Sep 2024 05:11:48 +0300
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> > (vc-git-log-outgoing): Use vc-git-pushed-revision.
> > * lisp/vc/vc-hg.el (vc-hg-pushed-revision): Add.
> > * lisp/vc/vc.el (vc-default-pushed-revision): Add new backend function
> > with default implementation returning nil.
> 
> Am I too used to Git, or should this be called upstream-revision or 
> origin-revision?

upstream-revision is definitely better than
vc-default-pushed-revision, since some VCSes don't even have the
"push" operation.

More importantly, this change must be accompanied with a suitable
update of the user manual, where we should explain what commit is
suggested as the default.  "Last pushed revision" is somewhat vague
and inaccurate, because the user could switch branches or remotes, or
do something else.  We should find a more accurate description.  Also,
the doc string of vc-root-diff needs to be updated with this
information.

> Maybe we would prefer to keep the current suggestion as the first 
> default, and have the upstream as the second suggestion (on M-n)? For 
> backward compatibility anyway.

Sounds like a good idea to me.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 14 Sep 2024 02:12:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 13 22:12:09 2024
Received: from localhost ([127.0.0.1]:44504 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1spIGf-0001Gs-CF
	for submit <at> debbugs.gnu.org; Fri, 13 Sep 2024 22:12:09 -0400
Received: from fhigh6-smtp.messagingengine.com ([103.168.172.157]:33019)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1spIGd-0001GT-0m
 for 62940 <at> debbugs.gnu.org; Fri, 13 Sep 2024 22:12:08 -0400
Received: from phl-compute-11.internal (phl-compute-11.phl.internal
 [10.202.2.51])
 by mailfhigh.phl.internal (Postfix) with ESMTP id AF4D711401F1;
 Fri, 13 Sep 2024 22:11:51 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-11.internal (MEProxy); Fri, 13 Sep 2024 22:11:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm3; t=1726279911;
 x=1726366311; bh=3aw9lGZAOY17FOzNhvwnFJz7J3NRb4mGXpMeb9BtSks=; b=
 AWDHGfmJPzNkRJCzh3iTkkbxxnadyCcl8JrBuk5h2ex7cm7ZfugyfryQsw/BqMon
 DmjnvHOz+czmVeMyGI4gi/PPVW/D1OL47YZt6O4nMCWfySPyDgsJLou1tPtHvc5I
 yNYkChVLnfHLOGst39wLzDshmAtVeRugmVa7lHJwUMiGJFhYvgj8311nF6mRC2ts
 XAhtQnw4Vjg1pyPmaLMp8DReVcsNwVElmpXrQvvexwXONl4C3Q+xvpXkawGXMgGh
 gWhCBrctsERDweTXMsId+wL7XdgVaaTDhOf2ov8AvG/moivUZfS0veu/jCfcy/BJ
 JLn6jfZMD0bpbKkCT1iElg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1726279911; x=
 1726366311; bh=3aw9lGZAOY17FOzNhvwnFJz7J3NRb4mGXpMeb9BtSks=; b=R
 M8EvejD+v1CJNNXgW6tlBEaUGsDEAdf4Z5BxSOt3h5782LJkRg3KBcmmpYWG321P
 7tHCnGQcv1FPL/jRqZiWy9Ug7UP0uE2MR1rmqO2TIamjglBLs6H2De7kdU3bhpps
 BQTcLjI+BPyO7Sf+HvMFTnQq/YWpeoGVh3yeIcenB5pzMauuvGBKZ97edEIlsAeP
 V3ZgqCNeldDhbJHWczs1VhiZHiCSc9VHTwLe/KunG7vnrhu+2ZeIPEpMhSmb1ZE5
 j9vInEb4Ec+yElLV7q3jVpWjPC8AJ9zzTfUBZwmtnyZ1J6C1jBXGiSZIulvNU9BD
 ZMIioGHCS9R9SDdS9S28A==
X-ME-Sender: <xms:5_DkZv_x6_UMAKfOEK-aXBRK-4wSEOFse04mAMHzWehPedDCr_vs4g>
 <xme:5_DkZrs_6zERqCljbdh899VllRAlI2BaWfEmYQ0wtDubu3S_51RKBna6U4zqvRMv-
 Xk07t63dH8-neG6P84>
X-ME-Received: <xmr:5_DkZtB8MH5b0zNoCAgTnSL3Hcm6PJAJID7PHDZ8Xezj8GNth2qz-Yo3PxyFz6bk-QoH>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejledgheehucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehssggruhhghhesjhgrnhgvsh
 htrhgvvghtrdgtohhmpdhrtghpthhtohepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhf
 mhdprhgtphhtthhopeeivdelgedtseguvggssghughhsrdhgnhhurdhorhhg
X-ME-Proxy: <xmx:5_DkZrdwa_8Dvr9kZm_fM6MPmH8IuRf6oB2vHYWKfR6F7VVHiRPDpg>
 <xmx:5_DkZkMs-x6GuorZk44MXnd9IIzrODmZL7KI3IY5bm6RDchr6kBUqQ>
 <xmx:5_DkZtmmYEO_dWo8AmO9nlFwi7EsDRN_UqcUEtquF6L2G_gkoK5anA>
 <xmx:5_DkZuuRt_bXruERkk1ojuAiTTjmGAuAIgIq4ZF6kbSYtSwxxU4t1A>
 <xmx:5_DkZpquG4G_cTQJJPt0DTBQZW0_tyQNtZDFbXfswVHML1v9uour3q9t>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 13 Sep 2024 22:11:49 -0400 (EDT)
Message-ID: <02b37700-a48d-4a7c-8e61-b37dfbabc062@HIDDEN>
Date: Sat, 14 Sep 2024 05:11:48 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
To: Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <ier7cbfp94q.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <ier7cbfp94q.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi!

On 13/09/2024 23:54, Spencer Baugh wrote:
> This works great, but is a bit tricky to use because you need to type
> the upstream branch ref.  I think it would be good to provide that as an
> additional default in the prompt for the old revision.  The attached
> patch does that.  (and probably is enough to close this bug)C-u M-x vc-root-diff will prompt for the old revision to use for the
> diff.  It includes the current working revision as a default.

I like the idea. See comments below.

> Now it also includes the last pushed revision as a default, through a
> new pushed-revision vc backend function.* lisp/vc/vc-git.el (vc-git-pushed-revision): Add.
> (vc-git-log-outgoing): Use vc-git-pushed-revision.
> * lisp/vc/vc-hg.el (vc-hg-pushed-revision): Add.
> * lisp/vc/vc.el (vc-default-pushed-revision): Add new backend function
> with default implementation returning nil.

Am I too used to Git, or should this be called upstream-revision or 
origin-revision?

The user might have just recently cloned the repository and not pushed 
anything yet. Anyway, matter of taste.

(defun vc-hg-pushed-revision (_file &optional remote-location)
> +  "Return a revspec for the last commit not outgoing to REMOTE-LOCATION."
> +  (unless remote-location
> +    (setq remote-location ""))
> +  (format "last(. and not outgoing(%s))" remote-location))

Is the second argument even non-nil in the Hg implementation?

(defun vc-diff-build-argument-list-internal (&optional fileset)
>     "Build argument list for calling internal diff functions."
>     (let* ((vc-fileset (or fileset (vc-deduce-fileset t))) ;FIXME: why t?  --Stef
> @@ -2069,6 +2074,8 @@ vc-diff-build-argument-list-internal
>            (first (car files))
>            (rev1-default nil)
>            ) ;; (rev2-default nil)
> +    (when-let ((pushed-revision (vc-call-backend backend 'pushed-revision first)))
> +      (push pushed-revision rev1-default))

Maybe we would prefer to keep the current suggestion as the first 
default, and have the upstream as the second suggestion (on M-n)? For 
backward compatibility anyway. I'm not 100% sure - the upstream ref 
seems like a more useful default in a lot of cases (and harder to type 
out when you do want it), but it's also workflow-specific.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 13 Sep 2024 20:54:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 13 16:54:47 2024
Received: from localhost ([127.0.0.1]:44338 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1spDJW-0008WF-Uc
	for submit <at> debbugs.gnu.org; Fri, 13 Sep 2024 16:54:47 -0400
Received: from mxout1.mail.janestreet.com ([38.105.200.78]:41441)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1spDJV-0008W2-6T
 for 62940 <at> debbugs.gnu.org; Fri, 13 Sep 2024 16:54:45 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN> (Dmitry Gutov's
 message of "Tue, 18 Apr 2023 23:43:55 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
Date: Fri, 13 Sep 2024 16:54:29 -0400
Message-ID: <ier7cbfp94q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com;
 s=waixah; t=1726260870;
 bh=ZiqnZtUr9Y5063bTJSpi/y0cWLXchEOYqZqC2CKv9GE=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=g1kvmFC9eExS8J0DPKjmxGrLNrfOFy834TmzguuzbtwxNb+pybDHEMBvqjxmaYVjh
 F7oROi8GdOhXZM4ZikVKgfjupQFy2NL6tDq7okaDD7H3d7APo9RTtfPaxqWo9c/pC6
 u5KKlK4JJ3ETobBrOBo0+kM2mpzqPOwzKImZh7hXM7eayQiuZF3M57NDlKKHFgrSqz
 Pa8ByVXa5V0v4qmVc2BO+m+gZ7UQvebKekgA1AqQwuQU8WboAI96IUOFtQ+PQdDYDM
 i/6BpKWoHbcVOcedpsozQj4BmH/bUUOLdKnRA4l/KB8he9CLHuEBnmKxgovml7C1qC
 zf+Gb7LhU1nnw==
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

Dmitry Gutov <dmitry@HIDDEN> writes:
> On 18/04/2023 23:36, Filipp Gunbin wrote:
>> Usually I just do C-x v L, select commits that interest me (via region),
>> and do M-x log-view-diff.
>
> Just in case: 'log-view-diff' is bound to '='.
>
> That's what I wanted to suggest, too. Or use 'vc-log-outgoing':
>
>   C-x v O C-x h =
>
> Which would be D. in the original message. It doesn't support
> uncommitted changes, but I would be surprised if it did.
>
> But one can also try this:
>
>   C-u C-x v D origin/master ^J
>
> Where origin/master is the name of the upstream branch ref. This
> should include uncommitted changes.

This works great, but is a bit tricky to use because you need to type
the upstream branch ref.  I think it would be good to provide that as an
additional default in the prompt for the old revision.  The attached
patch does that.  (and probably is enough to close this bug)


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0001-Add-a-last-pushed-revision-default-in-the-vc-diff-pr.patch

From 0a48d2973363361211c2e91c4f6c7bb75f16a853 Mon Sep 17 00:00:00 2001
From: Spencer Baugh <sbaugh@HIDDEN>
Date: Fri, 13 Sep 2024 16:35:19 -0400
Subject: [PATCH] Add a "last pushed revision" default in the vc-diff prompt

C-u M-x vc-root-diff will prompt for the old revision to use for the
diff.  It includes the current working revision as a default.

Now it also includes the last pushed revision as a default, through a
new pushed-revision vc backend function.

* lisp/vc/vc-git.el (vc-git-pushed-revision): Add.
(vc-git-log-outgoing): Use vc-git-pushed-revision.
* lisp/vc/vc-hg.el (vc-hg-pushed-revision): Add.
* lisp/vc/vc.el (vc-default-pushed-revision): Add new backend function
with default implementation returning nil.
(vc-diff-build-argument-list-internal): Add the last pushed revision
as a default. (bug#62940)
---
 lisp/vc/vc-git.el | 10 +++++++---
 lisp/vc/vc-hg.el  |  6 ++++++
 lisp/vc/vc.el     |  7 +++++++
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 2a7c8ae5fc4..4afbb978a3f 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1512,6 +1512,12 @@ vc-git-print-log
                   (list "-p"))
 		'("--")))))))
 
+(defun vc-git-pushed-revision (_file &optional remote-location)
+  "Return the ref for REMOTE-LOCATION."
+  (if (and remote-location (not (string-empty-p remote-location)))
+      remote-location
+    "@{upstream}"))
+
 (defun vc-git-log-outgoing (buffer remote-location)
   (vc-setup-buffer buffer)
   (apply #'vc-git-command buffer 'async nil
@@ -1520,9 +1526,7 @@ vc-git-log-outgoing
            ,(format "--pretty=tformat:%s" (car vc-git-root-log-format))
            "--abbrev-commit"
            ,@(ensure-list vc-git-shortlog-switches)
-           ,(concat (if (string= remote-location "")
-	                "@{upstream}"
-	              remote-location)
+           ,(concat (vc-git-pushed-revision nil remote-location)
 	            "..HEAD"))))
 
 (defun vc-git-log-incoming (buffer remote-location)
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 876d86dc24f..c0afb225871 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -1422,6 +1422,12 @@ vc-hg-log-incoming
   (vc-hg-command buffer 1 nil "incoming" "-n" (unless (string= remote-location "")
 						remote-location)))
 
+(defun vc-hg-pushed-revision (_file &optional remote-location)
+  "Return a revspec for the last commit not outgoing to REMOTE-LOCATION."
+  (unless remote-location
+    (setq remote-location ""))
+  (format "last(. and not outgoing(%s))" remote-location))
+
 (defun vc-hg-log-outgoing (buffer remote-location)
   (vc-setup-buffer buffer)
   (vc-hg-command buffer 1 nil "outgoing" "-n" (unless (string= remote-location "")
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 597a1622f5a..0125924cc51 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2061,6 +2061,11 @@ vc-read-multiple-revisions
 INITIAL-INPUT are passed on to `vc-read-revision' directly."
   (vc-read-revision prompt files backend default initial-input t))
 
+(defun vc-default-pushed-revision (_file &optional _remote-location)
+  "Return the last pushed revision of FILE.
+The default is to return nil always."
+  nil)
+
 (defun vc-diff-build-argument-list-internal (&optional fileset)
   "Build argument list for calling internal diff functions."
   (let* ((vc-fileset (or fileset (vc-deduce-fileset t))) ;FIXME: why t?  --Stef
@@ -2069,6 +2074,8 @@ vc-diff-build-argument-list-internal
          (first (car files))
          (rev1-default nil)
          ) ;; (rev2-default nil)
+    (when-let ((pushed-revision (vc-call-backend backend 'pushed-revision first)))
+      (push pushed-revision rev1-default))
     (cond
      ;; someday we may be able to do revision completion on non-singleton
      ;; filesets, but not yet.
-- 
2.39.3


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 16 Aug 2023 07:52:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 16 03:52:48 2023
Received: from localhost ([127.0.0.1]:38746 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qWBKi-0003Xu-7E
	for submit <at> debbugs.gnu.org; Wed, 16 Aug 2023 03:52:48 -0400
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:53289)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1qWBKe-0003Xe-A9
 for 62940 <at> debbugs.gnu.org; Wed, 16 Aug 2023 03:52:46 -0400
Received: by mail.gandi.net (Postfix) with ESMTPSA id 3D6BCFF808;
 Wed, 16 Aug 2023 07:52:35 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Spencer Baugh <sbaugh@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <ier5y5hqul4.fsf@HIDDEN> (Spencer Baugh's message of
 "Mon, 14 Aug 2023 15:42:31 -0400")
Organization: LINKOV.NET
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <86y1mo5pur.fsf@HIDDEN> <ier5y5hqul4.fsf@HIDDEN>
Date: Wed, 16 Aug 2023 10:48:18 +0300
Message-ID: <86il9fbf7h.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: Dmitry Gutov <dmitry@HIDDEN>, 62940 <at> debbugs.gnu.org,
 Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>>>   C-x v O C-x h =
>>>
>>> Which would be D. in the original message. It doesn't support uncommitted
>>> changes, but I would be surprised if it did.
>>
>> It's supported only for vc that inserts a text header in logs like RCS.
>> I proposed to insert extra line that represents uncommitted git changes,
>> and I'm using this feature all the time.
>
> Is your patch for this available somewhere?  I find myself wanting the
> same thing for hg.

Searching the right version in the archives would take much time,
so it's easier just to send the version that I use every day.
Here it is, just 3 new lines:

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index a7763360795..37dc619da5e 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1419,6 +1419,9 @@ vc-git-print-log
     ;; read-only.
     (let ((inhibit-read-only t))
       (with-current-buffer buffer
+        (when (memq vc-log-view-type '(long short))
+          (insert (propertize "(Type 'd' here to show diffs with working version)\n"
+                              'font-lock-face 'shadow)))
 	(apply #'vc-git-command buffer
 	       'async files
 	       (append

>> But the problem is that it's inserted even when 'C-x v b l' lists
>> another branch where such line makes no sense.
>
> Maybe we could only insert this line if there are actually uncommitted
> changes?

Good idea.  Also this line should not be shown in the output of
'vc-print-branch-log'.

PS: Sorry that answering your other requests about the project features
will take a little more time.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 14 Aug 2023 19:42:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 14 15:42:40 2023
Received: from localhost ([127.0.0.1]:34434 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qVdSZ-0000kk-Se
	for submit <at> debbugs.gnu.org; Mon, 14 Aug 2023 15:42:40 -0400
Received: from mxout6.mail.janestreet.com ([64.215.233.21]:52383)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1qVdSX-0000kW-IB
 for 62940 <at> debbugs.gnu.org; Mon, 14 Aug 2023 15:42:38 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <86y1mo5pur.fsf@HIDDEN> (Juri Linkov's message of "Wed, 
 19 Apr 2023 09:49:00 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
 <86y1mo5pur.fsf@HIDDEN>
Date: Mon, 14 Aug 2023 15:42:31 -0400
Message-ID: <ier5y5hqul4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: Dmitry Gutov <dmitry@HIDDEN>, 62940 <at> debbugs.gnu.org,
 Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Juri Linkov <juri@HIDDEN> writes:
>>   C-x v O C-x h =
>>
>> Which would be D. in the original message. It doesn't support uncommitted
>> changes, but I would be surprised if it did.
>
> It's supported only for vc that inserts a text header in logs like RCS.
> I proposed to insert extra line that represents uncommitted git changes,
> and I'm using this feature all the time.

Is your patch for this available somewhere?  I find myself wanting the
same thing for hg.

> But the problem is that it's inserted even when 'C-x v b l' lists
> another branch where such line makes no sense.

Maybe we could only insert this line if there are actually uncommitted
changes?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 22 Apr 2023 19:27:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 22 15:27:42 2023
Received: from localhost ([127.0.0.1]:44153 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pqIta-00058c-EZ
	for submit <at> debbugs.gnu.org; Sat, 22 Apr 2023 15:27:42 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50100)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1pqItU-00058I-T2
 for 62940 <at> debbugs.gnu.org; Sat, 22 Apr 2023 15:27:40 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pqItO-0004d5-Ss; Sat, 22 Apr 2023 15:27:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ZY+REjCJKcdBLS/dpSaZCMpSATr889nFarLIIRDt1J0=; b=o/dmhD5ZMOWF
 VN/MmJxdmhG5D7dVmqV+8oeFJMdbwhDY3I4e7/IkDdsDbHl5UHulxUOY5WJOKMHRMvZKQKHt9nM3k
 p4y7ftdabVbajEhbtnq3iuo4TCgN/KD7oGbrb2wV0FsRgXvBNMMyLN4/mbOC5Ha4wjaUdQMYgiqD+
 8BdlV04vw2OwJoZSuNinmrnK0lodSfS2LpDkNGt0fr1D/0oXWS/dVV8fN6L4v9deTgzhpH44AvN1r
 yWv87Xi0FEt2sNuXluw9qsv2Uc0eLa1ThCAq0pt/YYONVNN1XTLq4QwcXy8YpyAy1FakB6SJMkN0l
 1F2aDZPFxDMYSUjnr8eaoA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pqItO-00078d-By; Sat, 22 Apr 2023 15:27:30 -0400
Date: Sat, 22 Apr 2023 22:27:48 +0300
Message-Id: <83zg6zzphn.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <6bfd4eb6-f2f6-944b-196c-cbb6957e890e@HIDDEN> (message from
 Dmitry Gutov on Sat, 22 Apr 2023 21:33:35 +0300)
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN> <87sfctkrqn.fsf@HIDDEN>
 <83jzy42yll.fsf@HIDDEN> <87fs8skr5s.fsf@HIDDEN> <835y9o12fl.fsf@HIDDEN>
 <6bfd4eb6-f2f6-944b-196c-cbb6957e890e@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN,
 sbaugh@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Sat, 22 Apr 2023 21:33:35 +0300
> Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> On 22/04/2023 16:17, Eli Zaretskii wrote:
> > I don't think it is TRT to change the behavior of "C-x v O" in the
> > above scenario.  Because it will make it much harder to see the
> > changes for all the files, since in Emacs you are almost always "in
> > some file-visiting buffer".
> > 
> > So the above can only be optional behavior, not the default.
> 
> We could add a couple of new commands, with -fileset- in their names. 
> Couple - for incoming and outgoing.

That would work, of course.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 22 Apr 2023 18:33:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 22 14:33:48 2023
Received: from localhost ([127.0.0.1]:44137 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pqI3Q-0003bJ-3L
	for submit <at> debbugs.gnu.org; Sat, 22 Apr 2023 14:33:48 -0400
Received: from new3-smtp.messagingengine.com ([66.111.4.229]:35111)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pqI3N-0003b4-Pi
 for 62940 <at> debbugs.gnu.org; Sat, 22 Apr 2023 14:33:47 -0400
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailnew.nyi.internal (Postfix) with ESMTP id 6C00F5812B8;
 Sat, 22 Apr 2023 14:33:39 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sat, 22 Apr 2023 14:33:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to; s=fm2; t=
 1682188419; x=1682192019; bh=RjAJILyFI3vrx0Izna+jNZetmZTUSeH5Qd+
 Ea8AlfJY=; b=mwbMf0Ok0FxPUQHYZxATjX6ExUtxhrQ8WL89GJTQCUc6KNxs0sc
 jksAlTo4vMBNU1qS/wZ3mpfoc0Tx7rqFqBk7pUQdEWRplb1GEDyjWUBEfhcUWPL7
 BZ0Hx6vzqA7TWb9l8LjYrEmu7VDpaM+f3Wi+URBWz8kHywJSUJ77bjYBlbFBW6Jr
 WBpneXoklLf/TXUex5sWfBk0VVOn0g7yqdr/lkOSRSk6LEKQRdKXc1Cs61nD7DBD
 hFL8gdxeHFkBhu6FtTn5K4wk+zsyNSn5/hku8ARZFgzsC8pESgFc+9WRqk1zJ7Je
 DLAr8YYbzS4jXAIPANEbGxTpOjw2DZDc1VA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=
 1682188419; x=1682192019; bh=RjAJILyFI3vrx0Izna+jNZetmZTUSeH5Qd+
 Ea8AlfJY=; b=JuWKnmlG1ghB2xjFL3x0LvsnMY0RfyS21uK+y5vHJogL8z8s4xL
 mHZDEWoAu2K6yLL3B9tYPV5rQid1u3uwzZqqzdX8q4laVSzQH8GDDKup9ojQcLtE
 /m25vHlDE9M86z9a3t3x5+01Q+yNE82NAmtOHLKuNd8mkr6zeoy7w8YkNE7Iknq4
 6c8BOcXeUMKyRVmNLcAeM43fzt20atKa0e8KRIkFY2c33o5UecR1qSlD+6FcrgQB
 V7F2m3RuCFFXrHDjkqVAOTmz49Dz4Q0/CGOgvS0y71vlMsDv36EdK3v/+UHT6GG/
 tt308N1UPURjwy8va1oJn8RVsRPe4scqxLQ==
X-ME-Sender: <xms:gihEZKtJEl8fon_i7kwLcioerPOZgFlhAd40_Ehf26hJaKP25L1FyA>
 <xme:gihEZPcbk2QCF5aiqcQx4mq3zeCbPzqdEQWd0oRVmX5cbgCGfRk57EVnfCa7mt9eV
 8L7jWCNmVK5ZrqaHYY>
X-ME-Received: <xmr:gihEZFwq1-4TuNKyZ-uPFAiQuFsU0bhYs2e6_NfIfQVumno1w82d-GcDDmoSaL8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedtiedguddviecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhm
 ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg
 htthgvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeev
 ledvveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
 gumhhithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:gihEZFMdXxuN-3Z0qTmkRgGY5ZsQjOJKphMrNzs73EG-7SiiChCZig>
 <xmx:gihEZK_Sn1o72d5fsGzt0faxyYk_SIcNQoyYrzJyO8wpTYGqxAIB9g>
 <xmx:gihEZNWKkKkkHDg4iDehzTY_tWGP4hQKXfSpuvkGL1b1a0aLuh5zeA>
 <xmx:gyhEZBaWTeMTL8hMnIy77RTVae0_SOwVcX8OhHUvn64psG5VcubOyw>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 22 Apr 2023 14:33:36 -0400 (EDT)
Message-ID: <6bfd4eb6-f2f6-944b-196c-cbb6957e890e@HIDDEN>
Date: Sat, 22 Apr 2023 21:33:35 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.10.0
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
Content-Language: en-US
To: Eli Zaretskii <eliz@HIDDEN>, sbaugh@HIDDEN
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN> <87sfctkrqn.fsf@HIDDEN>
 <83jzy42yll.fsf@HIDDEN> <87fs8skr5s.fsf@HIDDEN> <835y9o12fl.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <835y9o12fl.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On 22/04/2023 16:17, Eli Zaretskii wrote:
>> From:sbaugh@HIDDEN
>> Date: Sat, 22 Apr 2023 13:00:48 +0000 (UTC)
>> Cc:sbaugh@HIDDEN,62940 <at> debbugs.gnu.org,fgunbin@HIDDEN
>>
>> 1. View a file buffer
>> 2. Hit C-x v O
>> 3. See outgoing changes only for that file
> I don't think it is TRT to change the behavior of "C-x v O" in the
> above scenario.  Because it will make it much harder to see the
> changes for all the files, since in Emacs you are almost always "in
> some file-visiting buffer".
> 
> So the above can only be optional behavior, not the default.
> 
> 
> 

We could add a couple of new commands, with -fileset- in their names. 
Couple - for incoming and outgoing.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 22 Apr 2023 13:17:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 22 09:17:28 2023
Received: from localhost ([127.0.0.1]:42107 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pqD7I-0002Nl-9w
	for submit <at> debbugs.gnu.org; Sat, 22 Apr 2023 09:17:28 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34488)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1pqD7F-0002NY-VN
 for 62940 <at> debbugs.gnu.org; Sat, 22 Apr 2023 09:17:27 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pqD76-0007IQ-2P; Sat, 22 Apr 2023 09:17:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=/+Zm7as5932oVqo1Rm8BkSR+u6nvI1U88qswEdvSnmQ=; b=YwQ1e2bRRDfE
 RvEqlbTAhrakhsC410/OoQmFy7y9tGrtVkgEmsbq+2wncJpjqtxX+S0bBtFQUkk5Olk+dwpEKQHdt
 kdzACBhK5d+fSBr5plrG9Mx3YdgI5LQBlD9AzNKG6HwN6TlFHmLTfcRUnenWwywk89QRRr9bE8wq5
 gDbkRe6xFRq3VqLSzkqAlyyNHUIAY09KVjZASwwTOxsAmEXmew+HCjc58LjWSLlA2sw7EUM7xBGFs
 OnwyRfXRWUuBNEaD3RiPzhuHLj5YqwThwHsJmvYWS8YEjt6eVB3O+govNQySjZRQEalMDD7v9QxG1
 EeJ+Qt7o2b1QP90lfbGSAg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pqD75-0002Wi-DD; Sat, 22 Apr 2023 09:17:15 -0400
Date: Sat, 22 Apr 2023 16:17:34 +0300
Message-Id: <835y9o12fl.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: sbaugh@HIDDEN
In-Reply-To: <87fs8skr5s.fsf@HIDDEN> (sbaugh@HIDDEN)
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN> <87sfctkrqn.fsf@HIDDEN>
 <83jzy42yll.fsf@HIDDEN> <87fs8skr5s.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: sbaugh@HIDDEN
> Date: Sat, 22 Apr 2023 13:00:48 +0000 (UTC)
> Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
> 
> 1. View a file buffer
> 2. Hit C-x v O
> 3. See outgoing changes only for that file

I don't think it is TRT to change the behavior of "C-x v O" in the
above scenario.  Because it will make it much harder to see the
changes for all the files, since in Emacs you are almost always "in
some file-visiting buffer".

So the above can only be optional behavior, not the default.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 22 Apr 2023 13:00:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 22 09:00:55 2023
Received: from localhost ([127.0.0.1]:42096 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pqCrH-0001x7-7W
	for submit <at> debbugs.gnu.org; Sat, 22 Apr 2023 09:00:55 -0400
Received: from s.wrqvwxzv.outbound-mail.sendgrid.net ([149.72.154.232]:16602)
 by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from
 <bounces+21787432-c625-62940=debbugs.gnu.org@HIDDEN>)
 id 1pqCrF-0001wr-BD
 for 62940 <at> debbugs.gnu.org; Sat, 22 Apr 2023 09:00:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com;
 h=from:subject:in-reply-to:references:mime-version:to:cc:content-type:
 content-transfer-encoding:cc:content-type:from:subject:to;
 s=s1; bh=FkFb6P3Ko8mEslsucsab9iw8M9osyb1qZ0JHrBeG3b8=;
 b=ubo3D6HQPFhx/3fnvUEY8nCMkpaMG72Lz6I+wMJ/JGeFcARBIGc7ed2RbNNVAVGoFc70
 daxqoy1Q0ffgOwySrl7nsoWU4/hCXyX6+Nx4zREByBGYB9xPbZGq7d2DmDloP+pmPX5gNg
 34+7NtpAfKTV4SvvKApoAY1aIY1GElG91YbYD9X0hV+bCA2LuQEHEvIDv1UdSEI53VMymb
 uaRIdGXoc+g05SV/gzGlaUcNE85gKN2dGXZgxDGqQVetoHh/fIJ0jLmYJDRyxWQqxvLaKN
 aZIEjlwReX6oCeG267rbhk377lTp40v2VfSfBVMNn4+bZEQR663pN9ofx+eNBWSw==
Received: by filterdrecv-68f8d557c9-cxx9p with SMTP id
 filterdrecv-68f8d557c9-cxx9p-1-6443DA80-9
 2023-04-22 13:00:48.071156184 +0000 UTC m=+5146158.194991992
Received: from earth.catern.com (unknown) by geopod-ismtpd-6 (SG) with ESMTP
 id Mn_E7kT6SemvniDJuNSYNw Sat, 22 Apr 2023 13:00:47.984 +0000 (UTC)
X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost;
 envelope-from=sbaugh@HIDDEN; receiver=<UNKNOWN> 
Received: from localhost (localhost [IPv6:::1])
 by earth.catern.com (Postfix) with ESMTPSA id 8EEBA60044;
 Sat, 22 Apr 2023 09:00:47 -0400 (EDT)
From: sbaugh@HIDDEN
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <83jzy42yll.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 22 Apr
 2023 09:57:26 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN> <87sfctkrqn.fsf@HIDDEN>
 <83jzy42yll.fsf@HIDDEN>
Date: Sat, 22 Apr 2023 13:00:48 +0000 (UTC)
Message-ID: <87fs8skr5s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbJi0=2FNfEqtDN69CarfFQS?=
 =?us-ascii?Q?RMmBxCMf6JAzJLLUJn=2FsgBPD77qsJiUZ2XMRafg?=
 =?us-ascii?Q?nmSUQbZMEcLDi5Fud+xL4T+hiZD8NVoHZSw5xFo?=
 =?us-ascii?Q?uv4rxc9Gfy+RffFwMJPBdfPjSuVcRDL2O3Apk=2FU?=
 =?us-ascii?Q?O+gO1qRuRAMwhTZmcN0i3OYO2hwRXssTP+g=3D=3D?=
To: Eli Zaretskii <eliz@HIDDEN>
X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q==
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Eli Zaretskii <eliz@HIDDEN> writes: >> Cc:
 62940 <at> debbugs.gnu.org, 
 Filipp Gunbin <fgunbin@HIDDEN> >> From: sbaugh@HIDDEN >> Date: Fri,
 21 Apr 2023 18:36:01 +0000 (UTC) >> >> After using it fo [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in
 bl.spamcop.net
 [Blocked - see <https://www.spamcop.net/bl.shtml?149.72.154.232>]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [149.72.154.232 listed in wl.mailspike.net]
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

Eli Zaretskii <eliz@HIDDEN> writes:
>> Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
>> From: sbaugh@HIDDEN
>> Date: Fri, 21 Apr 2023 18:36:01 +0000 (UTC)
>> 
>> After using it for a bit, one issue is that C-x v O shows changes in all
>> files; it would be nice if there was a way to get outgoing
>> changes/commits only for the current fileset.
>
> What is the current fileset for "C-x v O"? isn't that "all files"
> anyway?

Well, yes, that's the issue.  When my current fileset is not "all files"
(for example when I am in an individual file without marking files in a
vc-dir buffer) I would like to be able to see outgoing changes on just
those files.  C-x v O overrides the fileset to be "all files" instead.

> I could understand if you were talking about a VC command invoked from
> a vc-dir buffer or a Dired buffer, where you can mark files to be
> considered as the current fileset.  That would mean your comment is
> about the vc-dir command 'O' or the equivalent in Dired.  But
> otherwise, I'm not sure I understand the UI you have in mind.

1. View a file buffer
2. Hit C-x v O
3. See outgoing changes only for that file

> And then there's the issue of whether the backend supports what you
> want, of course.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 22 Apr 2023 06:57:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 22 02:57:22 2023
Received: from localhost ([127.0.0.1]:41557 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pq7BR-0005GB-Vv
	for submit <at> debbugs.gnu.org; Sat, 22 Apr 2023 02:57:22 -0400
Received: from eggs.gnu.org ([209.51.188.92]:59636)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1pq7BN-0005Fs-Gk
 for 62940 <at> debbugs.gnu.org; Sat, 22 Apr 2023 02:57:20 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pq7BH-0003kd-IM; Sat, 22 Apr 2023 02:57:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Lk9DZImh3LQm3lJnDtpo+mSsFlmWQCFIiYOU2lWYw4w=; b=LBF4WGIBdrMz
 DYpLGBL/fbNZ6Dv2c08fUWzjN7MrL3VqmPpcDnw4JEHEM2W3UY91tsGRAwPC5oN5Mrh7NeqFgRjZ9
 sSvx4VPNN/NxjooW4VYV6AgQipaGTMkm6/YCZGgQJklc3cMCOhW742pajDx3S6Ex6VsZb7kCWz6E1
 TxPQmeNSHnHmdzZLa7rmNQIYou87uodICYR37zZLttTmF7pupd2VRfypRj/zsxcAkHkdlIId0eR17
 UF5RK0xB+qQ+C8pd4z0Jv+nSNMMQR6aT8E1jw/orUQyam4kJFeBSdypT6vNnQ/VMElaLnDjquzOM1
 /wSRHKbMkVp2O/vaLzrg1g==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pq7BE-0004xZ-KQ; Sat, 22 Apr 2023 02:57:11 -0400
Date: Sat, 22 Apr 2023 09:57:26 +0300
Message-Id: <83jzy42yll.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: sbaugh@HIDDEN
In-Reply-To: <87sfctkrqn.fsf@HIDDEN> (sbaugh@HIDDEN)
Subject: Re: bug#62940: 29.0.60;
 vc: no easy way to get diff of all outgoing changes
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN> <87sfctkrqn.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62940
Cc: sbaugh@HIDDEN, 62940 <at> debbugs.gnu.org, fgunbin@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
> From: sbaugh@HIDDEN
> Date: Fri, 21 Apr 2023 18:36:01 +0000 (UTC)
> 
> After using it for a bit, one issue is that C-x v O shows changes in all
> files; it would be nice if there was a way to get outgoing
> changes/commits only for the current fileset.

What is the current fileset for "C-x v O"? isn't that "all files"
anyway?

I could understand if you were talking about a VC command invoked from
a vc-dir buffer or a Dired buffer, where you can mark files to be
considered as the current fileset.  That would mean your comment is
about the vc-dir command 'O' or the equivalent in Dired.  But
otherwise, I'm not sure I understand the UI you have in mind.

And then there's the issue of whether the backend supports what you
want, of course.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 21 Apr 2023 18:36:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 14:36:11 2023
Received: from localhost ([127.0.0.1]:41127 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ppvcB-0000lh-0W
	for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 14:36:11 -0400
Received: from s.wrqvtzvf.outbound-mail.sendgrid.net ([149.72.126.143]:64006)
 by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from
 <bounces+21787432-c625-62940=debbugs.gnu.org@HIDDEN>)
 id 1ppvc7-0000lE-Te
 for 62940 <at> debbugs.gnu.org; Fri, 21 Apr 2023 14:36:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com;
 h=from:subject:in-reply-to:references:mime-version:to:cc:content-type:
 content-transfer-encoding:cc:content-type:from:subject:to;
 s=s1; bh=bVkoNB8t6YPMCRc7lsJSYuPiiD2ooLvQ0fmGnILEKMU=;
 b=jW5i+NIrCWarp0qV16DlZc5Imsf/5kgZkAg49yKjJCLEgtcysuE4q9cxi4e1x1Nh0aAm
 etsMj6oqj+VBGcJdnWvmga/n3whKn9usvsQaT6/sAR+CCLqeyJ/Z9Y47JgjPso+SnJaA0H
 dVfTf/zBkDTgiYD0NPsSQQZ008GxbAb2M4TTT5spcfb9gOyXCjCBcAs8guY1eaftOgd3lt
 wS/GIVjMKzPuNOfquGiBJz0lXrTkZOvJASnR9LZHCOxvQX7Rig1GldTNoQ6yNSIWc5+DvW
 bUOuvW4ZKfdknwFB6Ch1r4gb83FHg8CJkR64kjsjVvBT9C2Q9JgqbVwUbRc6TEOA==
Received: by filterdrecv-7457b4c9b5-kcwqs with SMTP id
 filterdrecv-7457b4c9b5-kcwqs-1-6442D791-17
 2023-04-21 18:36:01.270693171 +0000 UTC m=+5079738.575890474
Received: from earth.catern.com (unknown) by geopod-ismtpd-8 (SG) with ESMTP
 id TN5d-WS4RM2vpgRWefVZBw Fri, 21 Apr 2023 18:36:01.117 +0000 (UTC)
X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost;
 envelope-from=sbaugh@HIDDEN; receiver=<UNKNOWN> 
Received: from localhost (localhost [IPv6:::1])
 by earth.catern.com (Postfix) with ESMTPSA id 763E760044;
 Fri, 21 Apr 2023 14:36:00 -0400 (EDT)
From: sbaugh@HIDDEN
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <ierjzy8yhpi.fsf@HIDDEN> (Spencer Baugh's message of
 "Tue, 18 Apr 2023 17:59:53 -0400")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <ierjzy8yhpi.fsf@HIDDEN>
Date: Fri, 21 Apr 2023 18:36:01 +0000 (UTC)
Message-ID: <87sfctkrqn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbL4uVBr+uNIXAiyJTgQ71?=
 =?us-ascii?Q?R6LqXZRBT6t9iJeXuhy55kYgS+PjDz9hrMc2FIz?=
 =?us-ascii?Q?wpVndDoHFLcinLwHoggwHaHGmVMgxp9oX3qPyLk?=
 =?us-ascii?Q?N7xV7IoG3M=2FYMjgbhABlGV0EBkx7v34Z=2FGhCk72?=
 =?us-ascii?Q?+8jLJOm6MCJYsEfli64yNPyX+zkFa8PkSlw=3D=3D?=
To: Spencer Baugh <sbaugh@HIDDEN>
X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q==
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org, Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Spencer Baugh <sbaugh@HIDDEN> writes:
> Filipp Gunbin <fgunbin@HIDDEN> writes:
>> Usually I just do C-x v L, select commits that interest me (via region),
>> and do M-x log-view-diff.
>>
>> Have you tried that?  What do you miss there?
>
> Wow, amazing, I did not think to try that!  After some further
> improvements to my vc backend, that is perfect!

After using it for a bit, one issue is that C-x v O shows changes in all
files; it would be nice if there was a way to get outgoing
changes/commits only for the current fileset.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 19 Apr 2023 06:51:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 19 02:51:18 2023
Received: from localhost ([127.0.0.1]:60940 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pp1ew-0001rZ-49
	for submit <at> debbugs.gnu.org; Wed, 19 Apr 2023 02:51:18 -0400
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:45687)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1pp1er-0001qX-WE
 for 62940 <at> debbugs.gnu.org; Wed, 19 Apr 2023 02:51:16 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 3AEF74000D;
 Wed, 19 Apr 2023 06:51:04 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN> (Dmitry Gutov's
 message of "Tue, 18 Apr 2023 23:43:55 +0300")
Organization: LINKOV.NET
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
 <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
Date: Wed, 19 Apr 2023 09:49:00 +0300
Message-ID: <86y1mo5pur.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: Spencer Baugh <sbaugh@HIDDEN>, 62940 <at> debbugs.gnu.org,
 Filipp Gunbin <fgunbin@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>   C-x v O C-x h =
>
> Which would be D. in the original message. It doesn't support uncommitted
> changes, but I would be surprised if it did.

It's supported only for vc that inserts a text header in logs like RCS.
I proposed to insert extra line that represents uncommitted git changes,
and I'm using this feature all the time.  But the problem is that
it's inserted even when 'C-x v b l' lists another branch
where such line makes no sense.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 18 Apr 2023 22:00:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 18:00:03 2023
Received: from localhost ([127.0.0.1]:60605 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1potMo-00015J-QG
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 18:00:03 -0400
Received: from mxout5.mail.janestreet.com ([64.215.233.18]:55163)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1potMl-000147-3x
 for 62940 <at> debbugs.gnu.org; Tue, 18 Apr 2023 18:00:01 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: Filipp Gunbin <fgunbin@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <m2bkjlkjvo.fsf@HIDDEN> (Filipp Gunbin's message of "Tue, 18
 Apr 2023 23:36:43 +0300")
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
Date: Tue, 18 Apr 2023 17:59:53 -0400
Message-ID: <ierjzy8yhpi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Filipp Gunbin <fgunbin@HIDDEN> writes:
> Usually I just do C-x v L, select commits that interest me (via region),
> and do M-x log-view-diff.
>
> Have you tried that?  What do you miss there?

Wow, amazing, I did not think to try that!  After some further
improvements to my vc backend, that is perfect!




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 18 Apr 2023 20:44:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 16:44:10 2023
Received: from localhost ([127.0.0.1]:60529 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1posBL-0007Dy-8z
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 16:44:10 -0400
Received: from new2-smtp.messagingengine.com ([66.111.4.224]:43333)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1posBI-0007DC-F8
 for 62940 <at> debbugs.gnu.org; Tue, 18 Apr 2023 16:44:05 -0400
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailnew.nyi.internal (Postfix) with ESMTP id 4970A582081;
 Tue, 18 Apr 2023 16:43:59 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 18 Apr 2023 16:43:59 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to; s=fm1; t=
 1681850639; x=1681854239; bh=t2LQCTHpF6bj8q/Wr5JKP258fcG9HdcMIj/
 6gx4+S+I=; b=q+kqgUT0OE7skENcjgDUKxlmjRPPTbiqn821LO0D1Tpmm9MbzFq
 v7stshzuZchbodFC9P0+oL44eVAEdLdLsGSlmHdqWcCutGCtGHUwt6xo4klF4BCy
 OY73enQ5ECyOt90t/RIiulU4+i3itrdP1UBCaW74fAOFVAfU2LQS+W5FFe1PR9R8
 Dj8Drx8Za2nUSKmQyEO1+GmWnMrUwGBcrbBT4G5RUL0j2ywQ7VCCxkJZ8kk7h7dF
 YBugmXGRFIVy7SpDTRMlteGd98ekSb/Ufzg0iDmKO3BhduWKBg1av9SbHimyEhHA
 lQciPHrp8iE9AXBWImTMZPYjcw/At6Ph0eQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=
 1681850639; x=1681854239; bh=t2LQCTHpF6bj8q/Wr5JKP258fcG9HdcMIj/
 6gx4+S+I=; b=hVTzybO9cZ1jNasEL3IAoCJ1J8dwWBpZDbVjjmDAB9N+Njl5flh
 Yrp2CrRfEjuYveR/+sTUKJmto90ou7EpQ9u6rGD9eua4Do9c5mACmYtlkS71I6VD
 bXjIfDokxsJ945g9rd2TCzPrQ5Ch7cC+sDNX5BNGb/4bDnsADzf1walFmOG68cwB
 lJq4AB0t7y99s+rc28PueDd2/TZjf3/882PY1urFNE+ti8gr4IeXsTzYXydQrcUz
 eu14DKLwF3DEe1lrcFKeZOxgQvSpHRTCC7waMNV6yu5B2GU6o62mVfqa8M/9g9cP
 5L+x3uYEekcg5dMBcGlT5TpcIlEI2UAn3zw==
X-ME-Sender: <xms:DgE_ZLo7_SXk1ASeOVkcnaitlR5qQ2qg9265FOeqv7J3OSEEk9mKQQ>
 <xme:DgE_ZFqm6VMVzs6k6pPqeVCJOw05k9zwBTi5Fl7jTtmi3yoebud3hQhdathiM_1BT
 b1u4XqNbEYafCQdvZ8>
X-ME-Received: <xmr:DgE_ZIMISQS6kW0nMiXbcF0K1sSnQ80R-DlmcEcUhKMgNiSk-vrYKSg2kDy9RGU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelkedgudehvdcutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhm
 ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg
 htthgvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeev
 ledvveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
 gumhhithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:DgE_ZO69ZSi_tQ1Qh2rAbAg7MBcglejKOOmlGdMircaMWs4oTngdoA>
 <xmx:DgE_ZK52oVMAc-dYAHSnIe27VlPfQoS3Bq9LGUI2fOXiY4RyFwZ85Q>
 <xmx:DgE_ZGh4rnkoGdKK4HHfU9-X-dK4ohzjG8DF3btO3TLqXJY7yu8pug>
 <xmx:DwE_ZARZ0cbqcO4B1A9NIeXz8ZP7JcL6aMFopjUm4i9jR45h4-RX6w>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Apr 2023 16:43:57 -0400 (EDT)
Message-ID: <640746f7-fa1c-dfb9-aaab-f9d8effdf64f@HIDDEN>
Date: Tue, 18 Apr 2023 23:43:55 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.10.0
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
Content-Language: en-US
To: Filipp Gunbin <fgunbin@HIDDEN>, Spencer Baugh <sbaugh@HIDDEN>
References: <iermt35xavm.fsf@HIDDEN> <m2bkjlkjvo.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <m2bkjlkjvo.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.8 (--)

On 18/04/2023 23:36, Filipp Gunbin wrote:
> Usually I just do C-x v L, select commits that interest me (via region),
> and do M-x log-view-diff.

Just in case: 'log-view-diff' is bound to '='.

That's what I wanted to suggest, too. Or use 'vc-log-outgoing':

   C-x v O C-x h =

Which would be D. in the original message. It doesn't support 
uncommitted changes, but I would be surprised if it did.

But one can also try this:

   C-u C-x v D origin/master ^J

Where origin/master is the name of the upstream branch ref. This should 
include uncommitted changes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at 62940 <at> debbugs.gnu.org:


Received: (at 62940) by debbugs.gnu.org; 18 Apr 2023 20:36:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 16:36:59 2023
Received: from localhost ([127.0.0.1]:60510 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pos4R-00072c-8n
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 16:36:59 -0400
Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:53357)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fgunbin@HIDDEN>) id 1pos4M-00072O-M2
 for 62940 <at> debbugs.gnu.org; Tue, 18 Apr 2023 16:36:57 -0400
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 5479E320092B;
 Tue, 18 Apr 2023 16:36:48 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 18 Apr 2023 16:36:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h=
 cc:cc:content-type:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:sender
 :subject:subject:to:to; s=fm3; t=1681850207; x=1681936607; bh=z8
 +/y8szLdRtzAspWbHy1CNNbuQgo/U5ayLNiGYOYIo=; b=bAc8y3vob4QLXZ0HwA
 vwQH61P57kC5gBKdPgB2B1pIO5Q2/qZCmNCJOGoz/5LM7i2ZAwzOkT4WSBON7/IM
 pJqoMDgqBaeBpUCTcbgYV8EmqZkUMWsJzZFyVLkNeyP+1QGtsQwsPKXMpF6Kx47/
 Arxoxv/fPjNV9/LwTrspm02744Wq9NZ6CpHvcA4giD60+iE8dgRI0NMjFhLasamu
 2gxCdTw9dhNKnPNTdLjyT8RyK3s89X884gkNVg3UCOTo5dvMBGoyzty+522NX71O
 1dFvvDC4tid9pWSAiHy7FijqMvPrQjjIOG/U5fxvpc7igDeoJSikPU9o5Q52t9YY
 ++GQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:sender:subject
 :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm3; t=1681850207; x=1681936607; bh=z8+/y8szLdRtz
 AspWbHy1CNNbuQgo/U5ayLNiGYOYIo=; b=FjiQPrq4xS5Wdp7juBVbtV57lhrcU
 ZinVcsG5sPvBClS3997vKf+QWdQ0/8mMZ91T8+1fMBmRfGP5no3GS2iuF8NV4y8m
 FxV/H+YfVSQndlcEN1+jRFEVf0z19WcwDbaIClKH/HgPp5xxSBDRTY4WPnrG0lYe
 c9jr2cTxOSk2GzhTs+N9+BgASuxLRjpQ/6fm05i61NFXQBY7rdXJZFbD480/6+O/
 RatWyzLywaF2zBgpbztaGiW1mYiFDRCpE4hQ+gqSREs9zPGzWOTxctKhloWXvxY6
 NkJu707Qa4aG4OtQRAsHrmprJeeL3UX/MeV2kgLVDHM12Jj4W3s4/Br0g==
X-ME-Sender: <xms:X_8-ZHo-mkxcRptE4rLnZtfDTJNyclemfuYDT3iEke2zKxYxrvvTeQ>
 <xme:X_8-ZBpSPN5qVDaoccb8cdgUeqtNa7IMLnTESReb8ZlfkKfBRx7xFB1zLz5Izih1x
 9CCD3DG7ruQfY6L>
X-ME-Received: <xmr:X_8-ZEOpygRyiwkmL8BzJmt4XXurvRpqEKWeHBEFesi8R4CMJmaH5IA_hkSTSPgeag>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelkedgudehtdcutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefhvfevufgjfhgffffkgggtsehttdertddtredtnecuhfhrohhmpefhihhl
 ihhpphcuifhunhgsihhnuceofhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmheqnecugg
 ftrfgrthhtvghrnhepfffhjeevieeiiedutefgheffleeiveeffeeftdekleehledufeeu
 ueduheevieffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
 homhepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmh
X-ME-Proxy: <xmx:X_8-ZK6vA4eReYRdUKYncTVMdjlGF8emI89oJQrEHyeIIKq4Kosa4w>
 <xmx:X_8-ZG7lE-EjIPWkEg6ue9VbzuUzlAEMtCZtFDeNgkoriSfq5uyAfQ>
 <xmx:X_8-ZCgg6BtE9OyijKJy8z42ATejdBaHFUWgdEh2fO9miOIc6uEILg>
 <xmx:X_8-ZLiLPLl08IVAOQO-0x3TWcflqRvbHlwLsn7YFM0vjmJ3-SRYqw>
Feedback-ID: id48c41f1:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Apr 2023 16:36:46 -0400 (EDT)
From: Filipp Gunbin <fgunbin@HIDDEN>
To: Spencer Baugh <sbaugh@HIDDEN>
Subject: Re: bug#62940: 29.0.60; vc: no easy way to get diff of all outgoing
 changes
In-Reply-To: <iermt35xavm.fsf@HIDDEN> (Spencer Baugh's message of
 "Tue, 18 Apr 2023 15:12:45 -0400")
References: <iermt35xavm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Tue, 18 Apr 2023 23:36:43 +0300
Message-ID: <m2bkjlkjvo.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62940
Cc: 62940 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 18/04/2023 15:12 -0400, Spencer Baugh wrote:

> Reproduction:
> 1. Make some local changes and commits
> 2. C-x v O to see the list of local commits that will be pushed
> 3. But there's no quick way to get a diff combining all those changes,
> which is useful if you've made multiple changes to the same function
> over the course of multiple commits, or if you want to review your
> changes overall before sending them out for review, or any other things
> like that.
>
> C-u C-x v = lets you specify two commits to diff, and the second commit
> even defaults to the working revision, but there's no easy way to get
> the "base" commit that is before all your local changes.  If you're
> using git, you can try to remember your upstream branch and type that
> in, but that's just a matter of memory.  For other VCSs (e.g. hg)
> there's no easy way.
>

[...]

> Thoughts, suggestions?

Usually I just do C-x v L, select commits that interest me (via region),
and do M-x log-view-diff.

Have you tried that?  What do you miss there?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Apr 2023 19:13:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 15:13:00 2023
Received: from localhost ([127.0.0.1]:60398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1poqlA-0004Nw-4y
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 15:13:00 -0400
Received: from lists.gnu.org ([209.51.188.17]:38744)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1poql3-0004Ni-Bb
 for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 15:12:58 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>)
 id 1poqkz-0002k4-UB
 for bug-gnu-emacs@HIDDEN; Tue, 18 Apr 2023 15:12:50 -0400
Received: from mxout5.mail.janestreet.com ([64.215.233.18])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>)
 id 1poqky-0001aP-JD
 for bug-gnu-emacs@HIDDEN; Tue, 18 Apr 2023 15:12:49 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 29.0.60; vc: no easy way to get diff of all outgoing changes
Date: Tue, 18 Apr 2023 15:12:45 -0400
Message-ID: <iermt35xavm.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@HIDDEN;
 helo=mxout5.mail.janestreet.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)


Reproduction:
1. Make some local changes and commits
2. C-x v O to see the list of local commits that will be pushed
3. But there's no quick way to get a diff combining all those changes,
which is useful if you've made multiple changes to the same function
over the course of multiple commits, or if you want to review your
changes overall before sending them out for review, or any other things
like that.

C-u C-x v = lets you specify two commits to diff, and the second commit
even defaults to the working revision, but there's no easy way to get
the "base" commit that is before all your local changes.  If you're
using git, you can try to remember your upstream branch and type that
in, but that's just a matter of memory.  For other VCSs (e.g. hg)
there's no easy way.

I'm working on adding an easy way to do this in vc, but there are
several ways to approach it and I wanted to check first.

A. (my preferred way) Support a M-1 prefix argument for C-x v =, which
will do a diff against the "base" revision, whatever that is.

B. Add a new keybinding in vc-read-revision which will insert the "base"
revision, so you can just use C-u C-x v = and then insert the base
revision at the first prompt.  Seems hard to make compatible with
non-default completion frameworks.

C. Add new equivalents to C-x v = and C-x v D which diff against the
base revision.  Seems like ugly duplication of keybindings.

D. Make some way to go from a log-view like C-x v O to a diff which
combines all those commits.  Could be nice, but seems a little
unintuitive, and also doesn't support including uncommitted changes in
the diff.

Thoughts, suggestions?




Acknowledgement sent to Spencer Baugh <sbaugh@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#62940; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.