bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62693: 28.2; VC: CVS: Fix lost file reporting and enable reverting i


From: Dmitry Gutov
Subject: bug#62693: 28.2; VC: CVS: Fix lost file reporting and enable reverting it
Date: Sat, 15 Apr 2023 01:59:28 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 13/04/2023 19:40, Olivier Certner wrote:
Hi,

Thanks for looking at this.

- Could you explain what kind of files are not listed and when? I'm
guessing this has to do with the file name? I've tried to reproduce the
problem with a file name that contained a space, and couldn't see it.

It's not that files are not listed, they are so always. As said, the problem
is their name. For example, if I remove an INSTALL file in a repository,
`INSTALL' is the name listed in a VC dir buffer, *quotes included*. Then, no
VC operation can work because there is indeed no file by this name (with
quotes, both in the filesystem or known by CVS).

So the actual file name is not the problem -- the problem happens with removed files?

Okay, I can see that now: when the file is removed, it's displayed (incorrectly) with quotes around its name. Patches 2 and 3 do fix the remove - vc-dir - vc-revert scenario.

Eli, do we want these fixes in emacs-29? These are again not regressions, but I'm guessing users of CVS are foremost to benefit from adding this to the upcoming release.

- Could you give an example of the repository CVS root which is
recognized by the current code incorrectly?

Just run (vc-cvs-parse-root "/your/local/path/to/some/CVS/repo") and you'll
see...

I've found more occurences of problems with this function, so my initial fix
is not enough. I went ahead and rewrote it completely. So please forget about
the original first patch, and consider it replaced by the attached one. The
commit message there explains how you can reproduce the bugs I found and shows
that the new version fixes them.

Thank you. What was the effect of wrong local/nonlocal recognition, though? Some misbehavior related to cvs-stay-local?

Regarding the new patch, it's great to see the list of examples, but could you instead move it to a test or several inside test/lisp/vc/vc-cvs-tests.el? This file does not exist yet, but you can use vc-git-test.el as an example, in the same directory.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]