Subject: bug#24082: 25.1; vc-dir for CVS repositories list all files as if from toplevel directory

From: Göktuğ Kayaalp <[email-masked]>
Date: Sun, 09 Oct 2016 15:18:42 +0300

On 2016-10-08 11:06:10 PM +0300, Dmitry Gutov <[email-masked]> wrote:
> On 08.10.2016 18:13, Jérémie Courrèges-Anglas wrote:
>> Oops, sorry.  Yes indeed, I only replaced `files' with `dir'.
> OK, good. Any obvious problems with that solution? [...]

Does not show unregistered files at all, so need to add them from shell.
In fact, ‘cvs status’ command itself does not know anything about
unregistered files at all, it only deals with registered files.

>> [... Göktuğ's patch works] fine, there are some differences.
>
> That's too bad. I've tried the patch myself, and I didn't see those, 
> neither [...]
> Might there be something special with the repo you're trying it on? 

I've been using the patch since I submitted it, first on 25.1 release
candidates and then on 25.1 release itself, and have not encountered any
of these problems.  And most of my source-controlled stuff is in CVS.
I'd say the local configuration or the patch application may have caused
this problems.

I'd be glad if Jérémie Courrèges-Anglas could post output from ‘cvs -fnq
update’ in that checkout, I could maybe use it to understand the
situation (BTW the ‘cvs -fn update -dP’ command I gave as an example in
my previous message was mistaken, I took it from the ‘-’ lines of the
patch, sorry).

>> So the patched version shows unregistered files and directories, which
>> is good, but has formatting artifacts (`.//' above).  Also, pressing `='
>> on `.//emacs-wip', I get the following in *Messages*:
>>
>> ...
>> Traversing directory /usr/ports/editors/...done
>> Finding changes in /usr/ports/editors/emacs-wip...
>> vc-find-backend-function: Cannot open load file: No such file or directory, vc-nil
>>
>> even though the directory contains a CVS dir, and cvs(1) works fine in
>> it.  I don't think it's a big problem though.
>
> Agree, that doesn't sound like too big of a problem.
>
> And seeing unregistered files is pretty much working as intended. Alas, 
> I see them in both versions of the code (the one using `dir', and the 
> one using 'cvs update').

I don't see unregistered files with the dir version.

> Any ideas why you're seeing differently? Do you have a non-default value 
> of vc-cvs-stay-local, maybe?

If he's using the port from the repo in his message, the ‘lisp/vc/vc.el’
file seems to be patched and that may be conflicting.  If possible, I
ask Jérémie to test my patch on master or 25.1 release without all those
other patches, (applying it on package root w/ ‘patch -p 0’), and
running emacs w/ -Q flag.

Also, ‘vc-cvs-stay-local’ does not cause any problem, I just set it to
‘.*’ and tested, the output is as expected for me:

,----
| VC backend : CVS
| Working dir: /tmp/emacs.d/
| Repository : /igk/cvsroot
| Module     : emacs.d
| 
| 
|                          ./
|                          site/
|     unregistered         site/test.el
`----

-- 
İ. Göktuğ Kayaalp.
http://gkayaalp.com/