From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#37215: [PATCH] vc-cvs-ignore writes absolute filenames and duplicate strings Date: Sat, 15 Feb 2020 09:44:23 +0200 Message-ID: <83imk8nvl4.fsf@gnu.org> References: <87imptwvoa.fsf@gnus.org> <87k15jy84c.fsf@gnus.org> <543853fe-6cc2-9d1e-093e-e90e0886eed2@gmx.de> <831rqyqnya.fsf@gnu.org> <83pnehpnyr.fsf@gnu.org> <31d20c7f-aec2-8b93-0643-f0fa611eb816@gmx.de> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="67800"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 37215@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru To: Wolfgang Scherer Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 15 08:45:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j2s8V-000HXV-NF for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 15 Feb 2020 08:45:11 +0100 Original-Received: from localhost ([::1]:48972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j2s8U-00048G-CX for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 15 Feb 2020 02:45:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58668) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j2s8M-00045V-TT for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2020 02:45:03 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j2s8L-0000bq-SP for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2020 02:45:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57242) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j2s8L-0000bj-P1 for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2020 02:45:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j2s8L-0007Vq-NA for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2020 02:45:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Feb 2020 07:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37215 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 37215-submit@debbugs.gnu.org id=B37215.158175266428812 (code B ref 37215); Sat, 15 Feb 2020 07:45:01 +0000 Original-Received: (at 37215) by debbugs.gnu.org; 15 Feb 2020 07:44:24 +0000 Original-Received: from localhost ([127.0.0.1]:34982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j2s7j-0007Ue-MU for submit@debbugs.gnu.org; Sat, 15 Feb 2020 02:44:23 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j2s7i-0007UQ-4P for 37215@debbugs.gnu.org; Sat, 15 Feb 2020 02:44:23 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:47357) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j2s7c-0000Le-De; Sat, 15 Feb 2020 02:44:16 -0500 Original-Received: from [176.228.60.248] (port=2841 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1j2s7b-0007Qs-VM; Sat, 15 Feb 2020 02:44:16 -0500 In-reply-to: <31d20c7f-aec2-8b93-0643-f0fa611eb816@gmx.de> (message from Wolfgang Scherer on Sat, 15 Feb 2020 02:42:28 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:176076 Archived-At: > Cc: larsi@gnus.org, 37215@debbugs.gnu.org, Dmitry Gutov > From: Wolfgang Scherer > Date: Sat, 15 Feb 2020 02:42:28 +0100 > > >> vc-dir-ignore with patch from #37240 > > OK, but then please document this use case and how DIRECTORY is used > > in this function. The various -ignore functions in vc.el and in > > backends assign different semantics to their DIRECTORY argument, and I > > think these (largely undocumented) differences are a source of some > > confusion and bugs in this area. > This is one of the first errors I ran into and I know a lot more now, > after doing the research. > > There is a problem with describing the use case, because > *vc-cvs-append-to-ignore* has several of them. So I think it is best, > that Dmitry comes up with an overall solution for *vc-ignore* - as he > has planned - which would naturally solve this problem, too. Since CVS > is a special case, because another package, PCL-CVS, is also involved, > therefore increasing the danger that something breaks, I have put my > findings at the end for your convenience. > > > >>> Because if that happens, the file's name will be added to > >>> .cvsignore not in DIRECTORY but in one of its subdirectories. Would > >>> that be surprising? > >> Not for anybody familiar with CVS. > > This should be documented, IMO. The existing documentation of > > .cvsignore is minimal, and doesn't mention several important aspects. > > For example, the fact that only basenames are allowed is only hinted > > upon, and there's no information whatsoever AFAICT whether characters > > special to wildcards can be escaped. So I think we should provide > > this minimal information either in doc strings or at least in comments > > in the code. > > As for the pattern syntax for CVS, it is following POSIX and is fully > described in the man page for glob(7) including the escape mechanism > with backslash. There is one quirk in the .cvsignore file parser, which > breaks patterns not only at lines but also at other whitespace on the > same line. It is therefore better to match a filename containing spaces > with a `?` for each space character. I'd like to install your patch, and I'd like to do it soon, so it makes it into Emacs 27. Can you please propose a modified patch which adds some minimal information about what's going on to the doc string and/or the comments around the code? IOW, I don't think we need any further discussions of this issue, we need a somewhat improved patch that explains more why its code is correct. Do you think you could provide such an improved patch? I don't think it's wise to make this patch wait for untangling the more general vc-ignore issues. Thanks.