all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 20637@debbugs.gnu.org
Subject: bug#20637: incompatible, undocumented change to vc-working-revision
Date: Thu, 14 Apr 2016 20:31:15 +0200	[thread overview]
Message-ID: <87h9f4ghzg.fsf@gmx.de> (raw)
In-Reply-To: <e3132bc6-f1d4-ebef-00d4-93fa0807fea0@yandex.ru> (Dmitry Gutov's message of "Thu, 14 Apr 2016 17:20:41 +0300")

Dmitry Gutov <dgutov@yandex.ru> writes:

>> I haven't thought too much about performance. But you are right, we
>> shouldn't add serious performance penalties to the code. And improving
>> performance for the 25.1 release is much too late.
>
> It's hard for me to judge how serious those are, really (I only have a
> fast laptop with GNU/Linux these days), but being wary of extra
> process calls seems prudent. Ideally, we'd reduce their number, not
> increase it.

Yes. I hope we could use more file properties caches. To be investigated.

>> So we might revert the patch for vc-state and vc-working-revision indeed
>> for the emacs-25 branch, going back to using vc-backend.
>
> Thanks, I agree.

I've committed this to emacs-25. Plus commenting the now failing checks
in vc-tests.el.

>> In the master branch we might apply my proposed patch using
>> vc-registered or something similar, and start to improve performance.
>
> Improve how? Would you like to comment on the last paragraph of my
> previous email in this subthread?

You've proposed an interface change in vc-state, returning just nil
instead of unregistered. Yes, this might be an option. Worth to be
checked.

Another possibility is to use cached properties more aggressively, as
said above.

> I don't really see a point in returning `unregistered' from
> `vc-state'. When would the caller treat it differently from nil? And
> returning nil seems like an easier choice, implementation-wise, and
> well as a more conservative one from the backward compatibility
> perspective.
>
> The `dir-status-files' backend command would continue including the
> `unregistered' entries (we could make it skip the up-to-date ones,
> though, in the interest of improving performance).

I cannot comment about this today. And as said already several times, if
we would document vc-* functions in the manual, it would allow us to
have a more global view on proposed changes. I trust you that you have
all involved interfaces in your mind. I haven't, and I would like to see
how an interface change compares to the other interfaces.

>> In
>> parallel, we shall start to write a VCS section for the elisp manual,
>> describing vc-* functionality in more detail. We could start with
>> vc-backend and vc-responsible-backend and their intended use. I'm
>> missing such documentation for years.
>
> I'd rather put the missing information into the docstrings, really. It
> seems unlikely that we're missing more than a few sentences in these
> two functions' descriptions, and we could also rephrase the existing
> ones.
>
> But if you'd be more comfortable with having that information in the
> manual as well, don't let me stop you.

Maybe docstrings are already sufficient. But you have spoken about
design decisions in the past (for example whether unregistered files
could be an argument), which I believe is not documented.

And at least for me the "global view" about vc-* functions is missing,
and how they are related.

>> I'll come back later today with the patch for emacs-25, if you agree.
>
> In any case, I definitely agree with reverting vc-state and
> vc-working-revision to use vc-backend in Emacs 25.1.

Yep. Pls test my patch, and confirm whether it is sufficient. Same for
Glenn, if possible. I would like to close this bug then, removing a
release blocker for Emacs 25.1.

Best regards, Michael.





  reply	other threads:[~2016-04-14 18:31 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-23 23:49 bug#20637: incompatible, undocumented change to vc-working-revision Glenn Morris
2016-03-28 23:28 ` Dmitry Gutov
2016-03-29 18:13   ` Michael Albinus
2016-04-01  0:36     ` Dmitry Gutov
2016-04-09 19:34       ` Michael Albinus
2016-04-09 20:42         ` Dmitry Gutov
2016-04-10  8:00           ` Michael Albinus
2016-04-10 16:00             ` Dmitry Gutov
2016-04-10 18:09               ` Michael Albinus
2016-04-10 18:58                 ` Dmitry Gutov
2016-04-11  6:55                   ` Michael Albinus
2016-04-13 20:55                     ` Dmitry Gutov
2016-04-14  7:10                       ` Michael Albinus
2016-04-14 13:53                         ` Dmitry Gutov
2016-04-14 15:26                           ` Michael Albinus
2016-04-15  0:33                             ` Dmitry Gutov
2016-04-15 13:13                               ` Michael Albinus
2016-04-14 15:23                         ` Eli Zaretskii
2016-04-13 15:14   ` Michael Albinus
2016-04-13 20:49     ` Dmitry Gutov
2016-04-14  7:21       ` Michael Albinus
2016-04-14 14:20         ` Dmitry Gutov
2016-04-14 18:31           ` Michael Albinus [this message]
2016-04-15  0:20             ` Dmitry Gutov
2016-04-15 13:11               ` Michael Albinus
2016-04-17  0:44                 ` Dmitry Gutov
2016-04-18 12:27                   ` Michael Albinus
2016-04-18 12:33                     ` Dmitry Gutov
2016-04-18 12:46                       ` Michael Albinus
2016-04-18  1:40                 ` Dmitry Gutov
2016-04-15  1:01             ` Dmitry Gutov
2016-04-15  1:04               ` Dmitry Gutov
2016-04-15 13:23               ` Michael Albinus
2016-04-17  0:17                 ` Docstrings and manuals, was: " Dmitry Gutov
2016-04-17  8:49                   ` Docstrings and manuals Michael Albinus
2016-04-17 10:50                     ` Dmitry Gutov
2016-04-17 11:16                       ` Michael Albinus
2016-04-17 11:42                         ` Dmitry Gutov
2016-04-17 12:19                           ` Michael Albinus
2016-04-17 13:12                             ` Dmitry Gutov
2016-04-17 15:14                               ` Eli Zaretskii
2016-04-17 16:39                               ` Michael Albinus
2016-04-17 19:39                                 ` Dmitry Gutov
2016-04-17 15:12                           ` Eli Zaretskii
2016-04-17 19:59                             ` Dmitry Gutov
2016-04-18  2:30                               ` Eli Zaretskii
2016-04-18 12:55                             ` Phillip Lord
2016-04-18 15:35                               ` Marcin Borkowski
2016-04-18 15:47                               ` Stefan Monnier
2016-04-18 16:30                                 ` Marcin Borkowski
2016-04-18 18:56                                 ` Eli Zaretskii
2016-04-18 19:33                                   ` Stefan Monnier
2016-04-18 19:39                                     ` Eli Zaretskii
     [not found]                           ` <<83ziss9sml.fsf@gnu.org>
2016-04-17 15:54                             ` Drew Adams
2016-04-17 15:03                       ` Eli Zaretskii
2016-04-17 15:15                         ` Dmitry Gutov
2016-04-17 16:23                           ` Eli Zaretskii
2016-04-17 20:22                             ` Dmitry Gutov
2016-04-18  2:33                               ` Eli Zaretskii
2016-04-18  8:38                           ` Richard Stallman
2016-04-18  9:50                             ` Dmitry Gutov
2016-04-19  0:25                               ` Richard Stallman
2016-04-19  7:59                                 ` Dmitry Gutov
2016-04-19 23:51                                   ` Richard Stallman
2016-04-17  0:27                 ` bug#20637: incompatible, undocumented change to vc-working-revision Dmitry Gutov
2016-04-18  1:33             ` Dmitry Gutov
2016-04-18 12:28               ` Michael Albinus
2016-04-18 12:37                 ` Dmitry Gutov
2016-04-18 12:53                   ` Michael Albinus
2016-04-18 12:58                     ` Dmitry Gutov
2016-04-18 13:06                       ` Michael Albinus
2016-04-18 16:34                     ` John Wiegley
2016-04-18 14:55           ` vc-state and unregistered (was: bug#20637: incompatible, undocumented change to vc-working-revision) Michael Albinus
2016-04-18 21:11             ` vc-state and unregistered Dmitry Gutov
2016-04-19  8:10               ` Michael Albinus
2016-04-19  8:21                 ` Dmitry Gutov
2016-04-19  8:31                   ` Michael Albinus
2016-04-19  8:43                     ` Dmitry Gutov
2016-04-24 12:11                       ` Michael Albinus
2016-04-24 12:21                         ` Dmitry Gutov
2016-04-24 12:45                           ` Michael Albinus
2016-04-24 12:49                             ` Dmitry Gutov
2016-04-24 13:07                               ` Michael Albinus
2016-04-24 13:13                                 ` Dmitry Gutov
2016-04-24 13:24                                   ` Michael Albinus
2016-04-24 13:27                                     ` Dmitry Gutov
2016-04-24 14:03                                       ` Michael Albinus
2016-04-24 17:23                                         ` Dmitry Gutov
2016-04-24 17:35                                 ` Dmitry Gutov
2016-04-24 18:13                                   ` Michael Albinus
2016-04-24 18:58                                     ` Dmitry Gutov
2016-04-24 19:41                                       ` Michael Albinus
2016-04-24 20:43                                         ` Dmitry Gutov
2016-04-24 13:08                               ` Dmitry Gutov

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

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

  git send-email \
    --in-reply-to=87h9f4ghzg.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=20637@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.