Subject: bug#61320: closed (Re: bug#61320: `vc-cvs-parse-root' returns wrong results)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 13 May 2023 06:05:01 +0000

Your bug report

#61320: 28.2; `vc-cvs-parse-root' returns wrong results

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61320: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61320
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61320: `vc-cvs-parse-root' returns wrong results
From: Eli Zaretskii <[email-masked]>
To: Farblos <[email-masked]>
Cc: [email-masked]
Date: Sat, 13 May 2023 09:04:22 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Fri, 12 May 2023 22:48:46 +0200
> From:  Farblos via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> Fixed in master:
> 
> M-x emacs-version RET
> 
> GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, 
> cairo version 1.16.0) of 2023-05-12
> 
> (vc-cvs-parse-root ":local:/var/lib/cvs")
> ("local" nil nil "/var/lib/cvs")
> 
> (vc-cvs-parse-root "/var/lib/cvs")
> ("local" nil nil "/var/lib/cvs")
> 
> Feel free to close this issue.

Thanks, done.

Subject: 28.2; `vc-cvs-parse-root' returns wrong results
From: "Farblos" <[email-masked]>
To: [email-masked]
Date: Mon, 06 Feb 2023 13:43:44 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

This reproduces also in master.

Not sure why nobody has reported this.  Most likely because the current
callers of `vc-cvs-parse-root' care only about some aspects of the
actual result of `vc-cvs-parse-root'.

$ emacs -Q

In scratch buffer evaluate the following (specification of Ctrl-J
omitted for clarity):

(load-library "vc-cvs")
t

;; this one is correct in the sense that 3rd element of the list is nil
;; (making it a local root for `vc-cvs-repository-hostname'), but
;; probably is not what the author has intended:
(vc-cvs-parse-root ":local:/var/lib/cvs")
("local" nil nil "var:/lib/cvs")

;; but this one is completely broken:
(vc-cvs-parse-root "/var/lib/cvs")
("ext" nil "var" "/lib/cvs")

There might be different fixes, but IMHO the regexp used in function
`vc-cvs-parse-uhp' should be anchored to beginning of line or string:

  "\\`\\([^/]+\\)\\(/.*\\)"