Hi, attached is a patch that fixes bug#24082.
The reason of the bug was that, in function ‘vc-cvs-after-dir-status’,
the CVS status line ‘cvs status: Examining
’ was excluded when the
function narrows to match, and when it tries to set the local variable
‘subdir’, as it does not find this line, it skips setting it. As
‘subdir’ defaults to ‘default-directory’, which is previously set to
repo root (i.e. the argument to function ‘vc-dir’, when ‘subdir’ is used
to construct the relative path to file, concatenating it with the
already-known file base name, it returns the basename, i.e. in
the form ‘name.ext’, with no directory path. This because it constructs
the relative path like ‘(file-relative-name basename subdir)’.
The patch uses ‘cvs update’ command instead. The implementation was
already there, commented out. I enabled and corrected it. The result
is more correct than the ‘cvs status’ approach, i.e. includes
unregistered and missing, and is faster compared to ‘cvs status’ way.
PS.: Please have me in CC when updating, I'm not subscribed to
bug-gnu-emacs.
--
İ. Göktuğ Kayaalp.
http://gkayaalp.com/