From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Subprojects in project.el Date: Tue, 29 Nov 2022 22:21:10 +0000 Message-ID: <87ilixqu5l.fsf@gmail.com> References: <87zgcq68zp.fsf@ericabrahamsen.net> <87zgcml7g7.fsf@gmail.com> <2ba04533-097a-a1da-ff3f-2c9506fd488e@yandex.ru> <875yf9bbzb.fsf@gmail.com> <87wn7oa0aw.fsf@gmail.com> <7a5b76fd-fb15-8c1e-ea29-bf11f7e0d2ae@yandex.ru> <87bkoya815.fsf@gmail.com> <0024a67d-b8e5-b35c-1b22-82541a170eb3@yandex.ru> <871qptai4d.fsf_-_@gmail.com> <86bkowdjx5.fsf@gmail.com> <43aa2f10-d947-dfcd-82b0-f6f1be3aaaec@yandex.ru> <86cz97jzpi.fsf@gmail.com> <87y1ruqe1o.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39688"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Tim Cross , Stefan Monnier , Danny Freeman , Eric Abrahamsen , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 29 23:20:43 2022 Return-path: Envelope-to: ged-emacs-devel@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 1p08y2-000A58-0Y for ged-emacs-devel@m.gmane-mx.org; Tue, 29 Nov 2022 23:20:42 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p08xL-0001uW-D7; Tue, 29 Nov 2022 17:19:59 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p08xK-0001uG-2d for emacs-devel@gnu.org; Tue, 29 Nov 2022 17:19:58 -0500 Original-Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p08xI-0002mu-CE for emacs-devel@gnu.org; Tue, 29 Nov 2022 17:19:57 -0500 Original-Received: by mail-wm1-x32d.google.com with SMTP id j5-20020a05600c410500b003cfa9c0ea76so78507wmi.3 for ; Tue, 29 Nov 2022 14:19:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kYRdosyxkkhYO6CHrZcie4bHWtbnhqwEbWqWvyDAomU=; b=gwXkphcHCdmd8qw5tIvJu5TxwGx4QgoAH+bsOFb1jYMYmQ0wayTPgej49XD/hPu1lW PuIjDdISwYspup4gw66XJmNJ0dj9H3fpW8UlXiMElqM96znaxEK/4FEG/+uT+HFlgA1A e48XjuiKeTknaf5i/Muhqc7Y2KFOD68AX7mUEbM28h2qMnnNnO1ySciM8f3N53n/FhXb AkM2IsbCnBJ8A+A2oHExef5UowuZr7menKVG/SFp8CNWs9No156sMjYYv8hBKHzRxplr QRKFEHQqvDutuNCHxDCDcvB4i5nR3zAC5r3cV9kV1Wu1hcrDG5GzrPxymundZdhdsYch LoQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kYRdosyxkkhYO6CHrZcie4bHWtbnhqwEbWqWvyDAomU=; b=5/tr5BDQN+JI9t8wGNRXRx4/Vku0CphBDCr5MqExZaAveVNh6C3yVxVeEuNWzdHIvS 2OJiXhhnRZ1If/MtMYFWQPjJ8f9ssfyOV4SPDDp49qTVWJx6DTLfohp9pzoVXHwY/J3b fmNCvW/556R2SqZHFCKZxxevFdbiU7NPtzMqaAY2kKfqXks1ftJEGdC6V+4z4tY+r5G7 Cu32CckV1zb299/mAU72QYmozK1qX3gyB2mIklyLaE14iuQcdJ8jct37e37J870tVraV 2sh1ojotDSG1HbMMTmsXd4YAqWdRSwvC4WcviA53jgKEw7Iciq6ltgiLgnSECCmgI+Fa uhhQ== X-Gm-Message-State: ANoB5pl2WZTnaVu8Tnv2t7cdAfvCHoQcINqjTvpbrMBi0q70ZuYUUnaQ gwrN/jQTxgkdgBOzJ9RDY2Ml2YP3QpU= X-Google-Smtp-Source: AA0mqf7dCdvcD4i1Rcyb0zQVi4ivW0Ke+/VSOynBrEztWZfiVXF/ZEJepGxYgTgsBhz0Sammz6V4qQ== X-Received: by 2002:a05:600c:538d:b0:3d0:47c:b2ac with SMTP id hg13-20020a05600c538d00b003d0047cb2acmr29660763wmb.52.1669760394295; Tue, 29 Nov 2022 14:19:54 -0800 (PST) Original-Received: from krug (87-196-72-71.net.novis.pt. [87.196.72.71]) by smtp.gmail.com with ESMTPSA id q8-20020adfcd88000000b00236576c8eddsm14438831wrj.12.2022.11.29.14.19.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Nov 2022 14:19:53 -0800 (PST) In-Reply-To: (Dmitry Gutov's message of "Tue, 29 Nov 2022 20:40:36 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=joaotavora@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300731 Archived-At: Dmitry Gutov writes: > On 29/11/2022 11:56, Jo=C3=A3o T=C3=A1vora wrote: >> Dmitry Gutov writes: >>=20 >>> But I'd be happy to find out that 98% of our users' cases can be >>> handled with markers. >> I think you'll begin to lose that bet right here in the Emacs repo. >> Take the doc/ directory where Emacs's manuals live. It's pretty >> reasonable to consider a non-programmer (or non-Elisp) contributor >> working on that directory almost exclusively, perhaps as a proof-reader. > > Setting aside the artificial nature of this example, they could add > "lispintro" or "lispref" to project-vc-extra-root-markers and have > that nested project recognized. Talk about artificial. I don't want to say that "lispintro" or "lispref" anywhere in my filesystem marks the doc/ subproject. I might have identically named elsewhere. And these are much more likely to change than doc/ won't. In other words, it's not correct to describe a subproject in terms of its interior structure. And there's also the obvious drawback, that you yourself raised, that looking for marker files is needlessly taxing in terms of file system operations. Especially, as you highlighted, under TRAMP or a slow-to-access file systems. > As long as the directory contains at least some unique (in the scope > of the containing project) file or directory, the marker-based > approach can work fine. That's not what marker files are good at. Markers, like the .git directory, are great for identifying many projects whose root location is not easily predictable but which have a very stable file element at their root at all times. But they're _not_ great for designating a fixed and easily predictable subset of hierarchies in a within a more complex, longstanding, legacy hierarchy. > I don't know how many people actually intend to do what you described, > though. But it seems workable just the same. Whoever wants to reap the benefits of subprojects for NPM packages in a monorepo with marker files will probably come across situations where they want to reap the same benefits for fixed directories but without marker files. And vice versa, of course. The solution to be adpted should not favour marker files over other approaches. And it's so simple not to incur in this design mistake that's it's a bit baffling that you keep insisting to do it. Jo=C3=A3o