bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emac


From: Zihao Zhu
Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project
Date: Fri, 29 May 2020 12:34:33 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1

Besides Perforce, Darcs and Fossil aren't supported yet. If we have plain project, we don't have to fiddle around with different sorts of VC.

A more netrual suggestion: We can make project-find-functions a defcustom first.


On 2020/5/29 上午3:58, Dmitry Gutov wrote:
On 28.05.2020 18:46, Zihao Zhu wrote:
If I have a project.el based plugin,  and I wanna use them in a directory not under VC. Add an mark to force project.el work is easier than modify the source of plugin or initialize VC system.

The problem with that, is that next time we'll get a report that these projects are too slow. Or that people who added .emacs-project file in the middle of a VC repository suddenly get significantly worse file listing performance, without expecting it.

So we'd have to add caching to the file list, and then some invalidation, probably. And I'm not a fan of having manual invalidation commands.

That's why I'm wary of adding such a separate project type by default, especially when the initial proposal doesn't add any of the advanced features described above, or explains how they won't be necessary.

But opinions welcome.

And this  can also be used as a side solution to use project.el in unsupported VCed project in Emacs (AFAIK, P4(Perforce) is not supported by vc.el).

Perhaps we could add Perforce support to project-vc instead?

There was a vc-p4 packages somewhere out there. But if it's entirely dead, we could add such support to project--vc-list-files directly.

Or, better yet, release it as a project-p4 package on GNU ELPA.

That all depends, of course, on whether the p4 command line utility also has the means to quickly list repository files and add ignores.

IMO, a plain project is like a transient project.

One difference is, nobody really expects much from "transient" projects. And this type of project is only applied when the directory is not covered by any other kind of project.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]