From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: A project-files implementation for Git projects Date: Tue, 17 Sep 2019 15:55:55 +0300 Message-ID: <3007947f-f4eb-e3e8-8c14-1b372323aa1c@yandex.ru> References: <8736h9rdc4.fsf@gnu.org> <87mufcfz1u.fsf@gnu.org> <87tv9kz2x6.fsf@gnu.org> <87a7bbjdwe.fsf@gnu.org> <87a7ba8uvx.fsf@gnu.org> <87pnk2zvvy.fsf@gnu.org> <838sqpx9eq.fsf@gnu.org> <83y2yow9dy.fsf@gnu.org> <838sqnw2na.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="238972"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 17 14:56:47 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iAD2E-00102K-O7 for ged-emacs-devel@m.gmane.org; Tue, 17 Sep 2019 14:56:46 +0200 Original-Received: from localhost ([::1]:45802 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAD2D-0002XF-Lm for ged-emacs-devel@m.gmane.org; Tue, 17 Sep 2019 08:56:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40035) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAD1Y-0002WY-2S for emacs-devel@gnu.org; Tue, 17 Sep 2019 08:56:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAD1W-0005uK-RW for emacs-devel@gnu.org; Tue, 17 Sep 2019 08:56:03 -0400 Original-Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:33042) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iAD1W-0005t8-J6; Tue, 17 Sep 2019 08:56:02 -0400 Original-Received: by mail-lj1-x235.google.com with SMTP id a22so3450886ljd.0; Tue, 17 Sep 2019 05:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=Za8s9ATqGrEscPP+ZsLX+iJBrXx/b7zvBMvwtenZRDg=; b=LnZkrJFDCqUgjyh+892EGPblAYFJEJCsr9KDhneq6A/7wpfhMu66VQp9IbTA4GGKRf N7JNTmUdU1YO5dudnMkIE7dKECPPo2KRhsFu7RJwnfb7ZSEcIHInCs+xEB0AonkD7xeu X7Ib9fJmj6YRlpbZpAZESIuvTPZ+ItrKeSOmsMQRVcBn/Gq8+OEs5etxupaJ+1I7zQSt oFaY7W5syTnidf2LSK44rdUsko20iLY2kI7KM/K6DpX4y7YAkbToKq4i5GSLgybX278g MfoX2c/N5OFeE3NSbj+WjG/RSXLVH1/ViqAa5ugFwMGBr24kbRQWg/0LkXtfeUEgRw93 g6iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Za8s9ATqGrEscPP+ZsLX+iJBrXx/b7zvBMvwtenZRDg=; b=oWZXC5qar/4VZ/4TJFWPCC5Az3ziRqmrGXxa6aUx+cnhV2wvoRkWQqmex9laA8ccfQ oXfoOkyYQTMXQEoRjTVprKG6CKKldDwDL3HSSYgRAC/kc5ouBnHJXracG0cq3fYaoybF faFtro65zeKywvf11j5pmyu6EPXvjsAbO+G6lKQ9izvGzu21rB0rMXWeaP4/4aC8RadU wxix5cOHmI4rw6HiAvb1BBDPPPIr47Jb8+tzJwQJ9Byx16BMadQqD+Qs2/IqPzAm7c30 3vvCZfeRdryJ5NVS3musP3E3tRIy9mZdg/GIKVQsD/6BGjGWlI7Aa5guU15+hT0+vfG5 eTeg== X-Gm-Message-State: APjAAAXdISmP3IluGPgNlPx0br/FZQxvdQJENnjN4Zb5y/sV3hDrH9OT bhShD8r4XM8qxoD9PpmrhBCpZ1qK/2w= X-Google-Smtp-Source: APXvYqzz9HiCjVtNJEdMvxwzecowinWv5gOFCV9z5/Jjqj0QybogiZElNckfXaKviTqIwcW899GTsg== X-Received: by 2002:a2e:9a82:: with SMTP id p2mr1877586lji.64.1568724960352; Tue, 17 Sep 2019 05:56:00 -0700 (PDT) Original-Received: from [192.168.1.142] ([178.252.127.239]) by smtp.googlemail.com with ESMTPSA id u1sm417256lfi.83.2019.09.17.05.55.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Sep 2019 05:55:59 -0700 (PDT) In-Reply-To: <838sqnw2na.fsf@gnu.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:240106 Archived-At: On 17.09.2019 15:03, Eli Zaretskii wrote: >> 'find' can handle an arbitrary list of ignores, including whitelisting >> entries (a feature which I've yet to add, but still). > > So you are going to convert the likes of .gitignore to a long list of > 'find's -name arguments? Instead of just using the tools that can do > this at a flip of a command-line argument? Why? First of all, it's already done and working. Second, like I said, using Git for this purpose seems easy enough. Others, less so. > That's a separate topic, IMO, but IME (which is admittedly thin) any > "project" kind of feature requires the user to register the files > somehow, before the file appears in the tree shown by the project's > UI. Not in my experience. It's not intuitive that a user has to vc-register a file before it shows up in 'project-find-file'. At the very least, we'll have confused users, and I'm not sure explaining it all in the manual is the answer. Second, I'd prefer it to keep working like it already does. > That's not exactly what Tassilo said, and "bzr help ls" is just a few > keystrokes away of each one of us. I didn't have it installed, but OK. From what I see, it doesn't allow to "unignore" certain files selectively, and I'm not sure if there's a way to apply additional ignores except by doing it in Lisp. >> And the filenotify-based cache would do one job. > > IME, filenotify doesn't scale well, so I won't recommend it for > non-toy projects in this context. Even if we just listen to "create", "rename" and "delete" events? Too bad. I imagine it has more to do with maturity of the package, then, so maybe someday. > I think you are wrong here. It is 'find' that needs to be coerced to > do a job that is not really its prime, and a project's view is in most > cases almost exactly that of the VCS used for the project. It's a job we've been using 'find' for for decades, and I only had to adapt some existing code. > The > difference is just-now added files that were not yet registered, and > how many of these can there be? That's not the only problem. We want to change the ignores list arbitrarily, or maybe just use a user-defined one. It will usually correlate with the contents of gitignore/hgignore/bzrignore, but not exactly. And neither Hg or Bzr seem to offer easy ways to adjust their lists of ignores before output.