unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dmitry@gutov.dev>
To: Spencer Baugh <sbaugh@janestreet.com>
Cc: Eli Zaretskii <eliz@gnu.org>, Juri Linkov <juri@linkov.net>,
	63469@debbugs.gnu.org
Subject: bug#63469: 29.0.90; project.el doesn't add menu-bar entries
Date: Tue, 23 May 2023 00:30:00 +0300	[thread overview]
Message-ID: <be6a17f5-2659-596d-2020-91afb11cc246@gutov.dev> (raw)
In-Reply-To: <ierfs7o6p2k.fsf@janestreet.com>

On 23/05/2023 00:20, Spencer Baugh wrote:

>> The VC project backend is not the only backend out there. Others'
>> performance characteristics may well be different.
>>
>> Further, its root-finding logic is different from VC. We also cannot
>> simply see which backend the current file is registered at because
>> project-vc has different options which affect how the root is
>> determined.
>>
>> Long story short, we won't be able to simply reuse VC's cached info.
> 
> I assume you've already considered this thoroughly, but could we just
> get rid of all those differences/merge them into vc?  For example, I
> wonder if we could teach vc to have an option like
> project-vc-merge-submodules...  or at least, teach vc to discover the
> parent project.  That could maybe be useful in vc...

I haven't spent much time on that question, to be honest.

But offhand I could say that those options won't necessarily make sense 
for VC. What would it mean for it to "discover parent project"?

VC doesn't deal with projects, it deals with repositories. And altering 
what repository root it finds (or making the logic customizable) can 
have adverse effects. E.g. we have an option like 
project-vc-merge-submodules which moves the project root to the top 
repository. But as far as VC goes, it needs to be able to check in 
changes inside submodules. One of the steps in vc-git-checkin is to 
change default-directory to the return value of vc-git-root, to have the 
command called there.

Similarly, I'm not sure what kind of effect would be appropriate for 
project-vc-extra-root-markers to have on VC functionality.

>>> (I personally agree that this should be always on, with perhaps a user
>> option to turn it off.)
>>
>> I'm fairly sure not everybody will like the additional delay when
>> visiting files over Tramp.
> 
> We could simply not run it automatically for files on TRAMP.  Do we run
> the vc find-file hook for files on TRAMP?  Maybe we shouldn't...

I thought there was some advice for vc-refresh-state somewhere, but I 
can't find it now. If you have time, you're welcome to look around.

Tramp often disables certain costly features (or Emacs packages provide 
options disable such features, when used remotely). This will need to be 
taken into account somehow.





  reply	other threads:[~2023-05-22 21:30 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-12 17:48 bug#63469: 29.0.90; project.el doesn't add menu-bar entries Spencer Baugh
2023-05-12 19:09 ` Eli Zaretskii
2023-05-12 19:25   ` Dmitry Gutov
2023-05-15 16:49 ` Juri Linkov
2023-05-15 18:15   ` Spencer Baugh
2023-05-15 18:19   ` Eli Zaretskii
2023-05-15 18:11 ` Spencer Baugh
2023-05-15 18:37   ` Eli Zaretskii
2023-05-15 18:46     ` Spencer Baugh
2023-05-16 16:09       ` Eli Zaretskii
2023-05-16 17:09         ` Spencer Baugh
2023-05-17 11:30           ` Eli Zaretskii
2023-05-17 14:50             ` Spencer Baugh
2023-05-18  6:53             ` Dmitry Gutov
2023-05-18  7:01               ` Eli Zaretskii
2023-05-18  9:49                 ` Dmitry Gutov
2023-05-18 10:23                   ` Eli Zaretskii
2023-05-18 14:30                     ` Spencer Baugh
2023-05-18 15:15                       ` Eli Zaretskii
2023-05-18 15:57                         ` Juri Linkov
2023-05-18 16:06                           ` Eli Zaretskii
2023-05-18 19:34                           ` Dmitry Gutov
2023-05-19  6:56                             ` Juri Linkov
2023-05-19 10:44                               ` Eli Zaretskii
2023-05-19 17:46                                 ` Juri Linkov
2023-05-19 18:28                                   ` Eli Zaretskii
2023-05-22 17:48                                     ` Juri Linkov
2023-05-22 18:20                                       ` Eli Zaretskii
2023-05-22 19:49                                         ` Spencer Baugh
2023-05-22 19:54                                           ` Dmitry Gutov
2023-05-22 21:20                                             ` Spencer Baugh
2023-05-22 21:30                                               ` Dmitry Gutov [this message]
2023-05-23 13:57                                                 ` Michael Albinus
2023-05-24  1:07                                                   ` Dmitry Gutov
2023-05-24  8:38                                                     ` Michael Albinus
2023-05-23  6:52                                           ` Juri Linkov
2023-05-23 11:17                                             ` Eli Zaretskii
2023-05-23 18:08                                               ` Juri Linkov
2023-05-24  1:10                                             ` Dmitry Gutov
2023-05-24  6:25                                               ` Juri Linkov
2023-05-25  1:15                                                 ` Dmitry Gutov
2023-05-25  6:35                                                   ` Juri Linkov
2023-05-25 16:17                                                     ` Dmitry Gutov
2023-05-23  6:49                                         ` Juri Linkov
2023-05-22 19:59                                       ` Dmitry Gutov
2023-05-23  6:46                                         ` Juri Linkov
2023-05-23 18:11                                           ` Juri Linkov
2023-05-24  1:03                                             ` Dmitry Gutov
2023-05-24  6:29                                               ` Juri Linkov
2023-05-25  1:14                                                 ` Dmitry Gutov
2023-05-25  6:29                                                   ` Juri Linkov
2023-05-25 16:14                                                     ` Dmitry Gutov
2023-05-25 18:41                                                       ` Juri Linkov
2023-05-25 22:19                                                         ` Dmitry Gutov
2023-05-30 17:51                                                           ` Juri Linkov
2023-06-02  2:11                                                             ` Dmitry Gutov
2023-06-02  6:37                                                               ` Juri Linkov
2023-06-03  1:36                                                                 ` Dmitry Gutov
2023-05-24  1:00                                           ` Dmitry Gutov
2023-05-19 14:42                           ` Spencer Baugh
2023-05-19 17:41                             ` Juri Linkov
2023-06-28  0:54 ` Spencer Baugh
2023-06-28  6:52   ` Juri Linkov
2023-06-29 15:30     ` Spencer Baugh
2023-06-29 17:31       ` Juri Linkov
2023-06-29 18:03       ` Eli Zaretskii
2023-06-29 19:22         ` Spencer Baugh
2023-06-30  5:32           ` Eli Zaretskii
2023-06-30 15:55             ` Spencer Baugh
2023-07-01  9:44               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=be6a17f5-2659-596d-2020-91afb11cc246@gutov.dev \
    --to=dmitry@gutov.dev \
    --cc=63469@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    --cc=sbaugh@janestreet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).