Created on 2007-12-28.10:48:33 by esr, last changed 2010-10-09.21:38:11 by mpm.
| msg13921 (view) |
Author: mpm |
Date: 2010-10-09.21:38:11 |
|
Written in stone.
|
| msg4776 (view) |
Author: ThomasAH |
Date: 2008-01-01.09:55:54 |
|
mpm backed out the change in 8a5d8fb59ed2, so I guess this is on hold until we
have to change the output of 'hg status' for another reason.
|
| msg4775 (view) |
Author: shap |
Date: 2007-12-31.16:28:05 |
|
If Thomas is correct that this only went in in 0.9.3, then the answer
is: it wasn't quite implemented in the way that it should have been, it
is a bug, there is no compelling backward compatibility issue, hg is
still pre-R1 in any case, and it should be fixed. The fact that the
ill-selected behavior is documented does not alter the fact that it was
not the preferred implementation choice. The fact that seeing the
ill-selected behavior requires obscure options and arcana does not
excuse the ill-selected behavior.
My question is: given that the current behavior is very new and not
quite right, why are we arguing about a single character change that
will simplify a range of tools. I see us accepting behavioral fixes in
other areas all the time, any number of which might hypothetically break
scripts. Why so defensive about this one? Considered overall, the net
reduction of code in other tools will probably increase their stability,
and that will ultimately make everything work better.
Or conversely: why not equally conservative about all the other
behavioral changes if we are going to be conservative about this one? To
be honest, I might prefer greater conservatism all around, since the
number of instability reports I see in me inbox is disturbing from my
perspective as a user. I wonder if we shouldn't be in a complete feature
freeze and bug hunt -- but that's just me, and it isn't my decision to
make.
Matt: email is a terrible medium for this type of note, so I want to
say: I am not trying to be obnoxious here. I am trying to raise a
serious question about how HG should deal with balancing stability and
feature change at this point. I do think that we are not being
consistent in this case, and I think that inconsistency of this sort is
probably not a good thing, but my main point is to ask how the line
should be drawn at this point.
Jonathan
On Mon, 2007-12-31 at 16:11 +0000, Matt Mackall wrote:
> Matt Mackall <mpm@selenic.com> added the comment:
>
> Why are we even still talking about this? We don't break backward-compatibility
> for wishes, period. There isn't even an argument that this is a bug. It's
> documented behavior ...
|
| msg4774 (view) |
Author: mpm |
Date: 2007-12-31.16:11:53 |
|
Why are we even still talking about this? We don't break backward-compatibility
for wishes, period. There isn't even an argument that this is a bug. It's
documented behavior and you have to actually read through the documentation (hg
help st) and use -C (gigantic hint) or -A to see the state.
If you've done all that and it still surprises you, there's not much we can do
for you. On the other hand, if you've done all that and coded it into your tool
which then breaks a year later, you'll rightly be pissed.
Again, the output of hg status is intended to be both stable and parsable
precisely to be used by tools. It can't be changed without a very good reason.
This is categorically not such a reason. Please backout the change in crew.
ps: the 1.0 arguments aren't interesting, we've been promising backward
compatibility for ages.
|
| msg4767 (view) |
Author: ThomasAH |
Date: 2007-12-31.09:45:35 |
|
The "C" flag is used since release 0.9.3, that is "only" one year ago, so not
even the version in Debian etch (0.9.1) knows about "C".
The number of bug reports doesn't reflect the number of people being bitten by
this. Most people would just think "oh, shit, Mercurial is different".
If we don't reuse the now free "C", external tools can easily be compatible with
both output. So the impact on external tool writers shouldn't be to high, not
even a hg version check is needed.
|
| msg4766 (view) |
Author: bos |
Date: 2007-12-31.06:06:22 |
|
Eric S. Raymond wrote:
> Jonathan S. Shapiro <shap@eros-os.com>:
>> Concur. If we are going to do this at all, it should be done before hg
>> 1.0.0
>
> And, on the flip side, I don't think it ought to be done after 1.0.0.
I'd somewhat like to see the change, too. I use Mercurial, Subversion
and darcs every day, and git pretty often too, and frankly anything that
reduces the mental overhead of switching gears for each tool is good.
Even something small like this.
That being said, Matt has a strong point regarding scripts that rely on
the existing behaviour. It's not cool to break people's automated tools.
<b
|
| msg4765 (view) |
Author: esr |
Date: 2007-12-31.03:48:56 |
|
Jonathan S. Shapiro <shap@eros-os.com>:
> Concur. If we are going to do this at all, it should be done before hg
> 1.0.0
And, on the flip side, I don't think it ought to be done after 1.0.0.
I consider a 1.0.0 release number to be a commitment about a lot of things,
including interface stability.
Which is why I say fix it now. You've got one external tool developer
telling you it will help, and at this point only theoretical reasons to
fear harm. And the longer you wait, the more likely it is someone will
actually get stuck to the old interface.
BTW, something I hadn't previously mentioned: I had known that VC mode
badly needed a rewrite for years. But it is very specifically wanting
to play with Mercurial that got me off my butt to actually do it.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
|
| msg4759 (view) |
Author: mpm |
Date: 2007-12-30.23:47:34 |
|
No, the first actually reinforces the second. The options to show particular
states exist primarily for automation. Normal people just run 'hg st' and never
see the 'C' state.
We can't change the output of 'hg st' without an extremely good reason. It is
already used by numerous external programs and making Emacs VC mode slightly
tidier is not a good enough reason.
Nor is removing the slight confusion it causes to users (which judging by the
BTS is very slight indeed). It's about two years too late for this change.
|
| msg4750 (view) |
Author: shap |
Date: 2007-12-30.18:49:00 |
|
Concur. If we are going to do this at all, it should be done before hg
1.0.0
On Sun, 2007-12-30 at 12:12 -0500, Eric S. Raymond wrote:
> Matt Mackall <mercurial-bugs@selenic.com>:
> > I'm not particularly keen on doing anything with this. First, as has been noted,
> > you don't see the 'C' state unless you ask to see it (by first reading the hg
> > status help and then using -C(!) or -A). Second, this is precisely the sort of
> > change that will break an external tool.
>
> Your first objection undermines your second somewhat.
>
> Anyway, I maintain one external tool that this change will actually help.
> That's Emacs VC mode, which benefits from status flags that are consistent
> across VCSes.
|
| msg4747 (view) |
Author: esr |
Date: 2007-12-30.17:12:22 |
|
Matt Mackall <mercurial-bugs@selenic.com>:
> I'm not particularly keen on doing anything with this. First, as has been noted,
> you don't see the 'C' state unless you ask to see it (by first reading the hg
> status help and then using -C(!) or -A). Second, this is precisely the sort of
> change that will break an external tool.
Your first objection undermines your second somewhat.
Anyway, I maintain one external tool that this change will actually help.
That's Emacs VC mode, which benefits from status flags that are consistent
across VCSes.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
|
| msg4745 (view) |
Author: mpm |
Date: 2007-12-30.16:55:47 |
|
I'm not particularly keen on doing anything with this. First, as has been noted,
you don't see the 'C' state unless you ask to see it (by first reading the hg
status help and then using -C(!) or -A). Second, this is precisely the sort of
change that will break an external tool.
|
| msg4744 (view) |
Author: ThomasAH |
Date: 2007-12-30.16:49:53 |
|
Changed to "=" in c2a21fe60994 of crew.
Mercurial does not track conflicts, it just calls hgmerge in such cases.
(There is the imerge extension, if you want to track conflicts)
|
| msg4734 (view) |
Author: esr |
Date: 2007-12-28.16:46:31 |
|
Hm. I didn't know of the Palm precedent. I chose '=' because it seemed logical;
Subversion uses a space for this in its verbose status display, which we can't here.
Shap raises a good question. I think "C' ought to be reserved for a conflict
status, igf you have one. I'm only a novice at DVCSes, so I'm not sure exactly
what Hg's equivalent of 'conflict' would be -- perhaps "this revision has a
sibling on the DAG"?
|
| msg4733 (view) |
Author: ThomasAH |
Date: 2007-12-28.16:15:13 |
|
* Matt Mackall <mercurial-bugs@selenic.com> [20071228 16:35]:
> Is there precedent for '='?
THe backup program I use on my Palm uses this when verifying backup
sets.
Thomas
|
| msg4732 (view) |
Author: shap |
Date: 2007-12-28.16:06:00 |
|
If another vote matters, I concur that 'C' should be avoided. I have no opinion
about the merit of '='.
However, while we are at it, should we consider using 'C' to mean "conflict",
consistent with other SCM systems?
|
| msg4731 (view) |
Author: mpm |
Date: 2007-12-28.15:34:48 |
|
Is there precedent for '='?
|
| msg4730 (view) |
Author: pmezard |
Date: 2007-12-28.15:12:56 |
|
I have probably never run --clean so "=" is good for me
|
| msg4729 (view) |
Author: ThomasAH |
Date: 2007-12-28.15:00:31 |
|
Even I sometimes got confused by C, not because its precedence in svn, but in cvs.
"=" would be ok for me. What do the others say?
|
| msg4728 (view) |
Author: esr |
Date: 2007-12-28.10:48:33 |
|
The hg status codes are all upward compatible with Subversion's, except for the
use of "C" to mean a clean file. This conflicts badly with Subversion's use odf
"C" to mean "conflict". This objection has more force because Subversion codes
are a sort of de-facto standard now; bzr status --short emits them too.
This is a rarely-used status letter anyway; looks like it's only emitted with
the --clean option. I suggest changing to something else -- maybe "=" would be
good.
|
|
| Date |
User |
Action |
Args |
| 2010-10-09 21:38:11 | mpm | set | status: deferred -> done-cbb nosy:
mpm, bos, ThomasAH, kupfer, pmezard, shap, esr messages:
+ msg13921 |
| 2010-10-09 15:59:34 | benjamin | unlink | issue1744 superseder |
| 2009-08-05 20:45:27 | sspweb01200 | link | issue1744 superseder |
| 2008-02-05 22:18:00 | kupfer | set | nosy:
+ kupfer |
| 2008-01-01 09:55:55 | ThomasAH | set | status: testing -> deferred nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4776 assignedto: ThomasAH -> |
| 2007-12-31 16:28:06 | shap | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4775 |
| 2007-12-31 16:11:53 | mpm | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4774 |
| 2007-12-31 09:49:14 | ThomasAH | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr assignedto: ThomasAH |
| 2007-12-31 09:45:36 | ThomasAH | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4767 |
| 2007-12-31 06:06:24 | bos | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4766 |
| 2007-12-31 03:48:57 | esr | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4765 |
| 2007-12-30 23:47:34 | mpm | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4759 |
| 2007-12-30 18:49:01 | shap | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4750 |
| 2007-12-30 17:12:22 | esr | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4747 |
| 2007-12-30 16:55:47 | mpm | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4745 |
| 2007-12-30 16:49:53 | ThomasAH | set | status: chatting -> testing nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4744 |
| 2007-12-28 16:46:31 | esr | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4734 |
| 2007-12-28 16:15:13 | ThomasAH | set | nosy:
mpm, bos, ThomasAH, pmezard, shap, esr messages:
+ msg4733 |
| 2007-12-28 16:06:01 | shap | set | nosy:
+ shap messages:
+ msg4732 |
| 2007-12-28 15:34:48 | mpm | set | nosy:
mpm, bos, ThomasAH, pmezard, esr messages:
+ msg4731 |
| 2007-12-28 15:12:57 | pmezard | set | nosy:
mpm, bos, ThomasAH, pmezard, esr messages:
+ msg4730 |
| 2007-12-28 15:00:37 | ThomasAH | set | topic:
+ ui, surprise nosy:
+ ThomasAH, mpm, pmezard, bos status: unread -> chatting messages:
+ msg4729 |
| 2007-12-28 10:48:33 | esr | create | |
|