Subject: Re: bug#76769: 31.0.50; marking inconsistency between VC-Dir and dired-vc-next-action

From: Sean Whitton <[email-masked]>
Date: Sat, 08 Mar 2025 10:40:09 +0800

Hello,

On Fri 07 Mar 2025 at 05:13am +02, Dmitry Gutov wrote:

> Hi!
>
> On 06/03/2025 05:56, Sean Whitton wrote:
>>    --8<---------------cut here---------------start------------->8---
>>                             ./
>>      *                      src/
>>      *  edited              src/emacs.c
>>    --8<---------------cut here---------------end--------------->8---
>>    Currently vc-dir-deduce-fileset returns ("src/" "src/emacs.c"),
>>    it should return just ("src/").
>
> Could you give an example of when this is a problem in practice? If you just
> pass this list to 'git diff' or 'git log', either command would behave as if
> the fileset contained only a directory.
>
> I suppose the list of files in log-edit would be more awkward. Is that all?

No, my thought here is that the VC-Dir abstraction is leaking through.

Modulo possible cases which I'm hoping to hear more about from Eli, if
the user has marked a directory, then the operation is on that directory
and everything in it, and passing through the information that the user
happened to have src/emacs.c marked as well is strange.

> Speaking of interface changes, I wonder if marking (or unmarking) a directory
> should select/unselect all of its files instead (those displayed in the
> buffer). But that's a more drastic change.

I hope that we can figure out something more subtle, but having the
ability to opt into that would be an improvement over what we have now,
I think.

-- 
Sean Whitton