From: Dmitry Gutov <dgutov@yandex.ru>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 20637@debbugs.gnu.org
Subject: bug#20637: incompatible, undocumented change to vc-working-revision
Date: Sun, 10 Apr 2016 21:58:02 +0300 [thread overview]
Message-ID: <d93c2912-a14c-ddab-1994-72e2137ac9b4@yandex.ru> (raw)
In-Reply-To: <87potxwd1u.fsf@gmx.de>
On 04/10/2016 09:09 PM, Michael Albinus wrote:
>> Why not revert 7f9b037245ddb662ad98685e429a2498ae6b7c62? I believe
>> I've mentioned that suggestion before.
>
> Why that? That patch fixes problems. How would you solve them otherwise?
It just fixed the tests you've introduced a little while before that.
I'm not aware of any related bug reports.
The new tests assumed new semantics, so you fixed them by changing
semantics, thereby causing the "incompatible, undocumented change".
> And what problem has been introduced with that patch? This one we are
> speaking about, bug#20637?
Yes.
> Maybe you have mentioned this already, and
> I've overseen this.
I wrote about that in the very first message to this thread:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20637#10
> Could you show a patch which reverts
> 7f9b037245ddb662ad98685e429a2498ae6b7c62, and also updates the tests?
> Maybe it is simpler to speak about this concrete proposal.
Unless you have a different proposal, I'll write and simply commit that
patch.
>>> But I doubt that's possible. This bug report was written on 23 May 2015,
>>> it was marked as release blocker on the same day, and still no fix.
>>
>> Not because it's too difficult to resolve.
>
> But nobody has taken any action for more than 10 months :-(
I would expect that to be the responsibility of the person who caused
the breakage.
> Oh, there are regressions. ESR has undertaken his rewrite of vc*.el end
> of 2014. Emacs 25.1 is the first release which brings them to the
> public.
There are regressions, but the questions you've been asking don't seem
to number among them.
> Unfortunately, etc/NEWS of Emacs 25.1 is very silent about those
> changes.
That's bug bug#19548. Could we keep that discussion out of this one?
> I might be wrong, but Glenn didn't write this bug only because of some
> missing docs. I believe he was unhappy about the whole process, how
> those changes did arrive. But I'm not Glenn, and I shouldn't interpret
> too much ...
This bug is about vc-working-revision. It's in the title.
>> In general, VC supports the lowest common denominator across the
>> backends. Or at least, a feature should be supported in a few
>> important ones. CVS is on its way out, and ClearCase is a relatively
>> niche tool.
>
> You have read my comment in vc-tests.el?
Which comment are you referring to?
> At least CVS, RCS and SVN seem
> to behave this way.
You've mentioned that in the previous message. Out of these three, only
SVN is in any way recommended for production use these days. In any
case, they're aging and only decreasing in popularity.
> So it is reasonable to handle the case, that
> directories are registered.
I do not understand this argument.
>> Anyway, the point is VC is for people to be able to write code
>> depending on the public API and see it work across many VCSes. And Git
>> and Mercurial, at least, don't track directories.
>
> So what?
"So what" doesn't seem like a meaningful response to the first sentence
above.
> We could say in the doc that registering directories is not
> supported for all backends. People who write a backend know what they
> do. I hope.
We could say a lot of things. We could even say that every backend
behaves in its own special way (and enumerate all those ways), but where
will that get us?
Again, what's the benefit of introducing this complication?
> But vc-backend
> does already TRT: when a directory is registered, it returns the backend
> name. When a directory is not registered, it returns nil.
It just does the thing that's more convenient for each backend. That
doesn't make it TRT.
> This is *not*
> a statement why a directory is not registered, and whether registering
> directories is possible at all for a backend.
Indeed, and that's a problem: if the caller receives nil, it cannot know
whether that's because the directory is not a part of a VCS checkout, or
because the backend does not support tracking directories.
This is a reason not to support calling vc-backend on directories: it
leads to unportable code.
>> Note that vc-backend and vc-responsible-backend have different
>> performance characteristics (and, I imagine, different behavior in
>> case of nested repositories), so simply replacing all uses of the
>> former with the latter is not a good idea.
>
> I haven't proposed this!
Good. I've just made a guess on why you've asked the question, and
7f9b037245ddb662ad98685e429a2498ae6b7c62 hinted at that conclusion.
> I simply want to understand (and document) what
> both functions are doing.
OK. It's not like I'm a big hoard of knowledge about them. To answer the
questions, I've just looked at their definitions and usages.
> Which of them is taken by a backend is the
> decision of the maintainer of the backend.
I don't understand this. What kind of decisions would backend
maintainers make about them?
> I'm pretty much in favor to also document the differences in performance.
OK.
> I haven't spoken about vc-register. I have spoken about
> vc-registered. This one exist as general function, and it isn't interactive.
I see. But vc-registered is a relatively meaty function, and it has two
callers outside of tests. That looks better justified to me.
>> How will we use vc-unregister?
>
> Every backend can use it instead of its backend specific function, like
> vc-git-unregister. It runs common code then like removing properties,
> and calls the backend specific function then.
vc-git-unregister has no internal callers. Anyway, please go ahead with
`vc-unregister' is you feel so strongly about it.
> I understand that's low priority for you, and I accept this. For me,
> while extending vc-tests.el, it isn't low priority. I need solid ground
> under my feed, and therefore I'm starting with the very basic
> functions.
My point was, the `unregister' command is a fringe one, not a basic one.
> Understanding, testing, maybe fixing bugs, maybe improving
> documentation. Function by function.
Sure. But I think we should fix the current bug first.
next prev parent reply other threads:[~2016-04-10 18:58 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 [this message]
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
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=d93c2912-a14c-ddab-1994-72e2137ac9b4@yandex.ru \
--to=dgutov@yandex.ru \
--cc=20637@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
/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.