Created on 2008-01-09.02:28:54 by markstos, last changed 2010-06-15.21:20:14 by admin.
msg2374 (view) |
Author: markstos |
Date: 2008-01-09.02:28:53 |
|
This bug report can be illustrated with the shell script uploaded through issue578.
The result is that after going through the Steve and Monica example from DarcsTwo,
"darcs changes" reports that one conflicting patch contains no content at all!
That's definitely different than darcs-1, and looks like a bug to me.
Example:
#####
$ darcs changes -s
Tue Jan 8 21:06:50 EST 2008 steve
* Bnote
M ./foo -1 +1
Tue Jan 8 21:06:49 EST 2008 steve
* Anote
Tue Jan 8 21:06:50 EST 2008 monica
* AZnote
A ./bar
A ./foo
|
msg2486 (view) |
Author: daveroundy |
Date: 2008-01-14.21:05:33 |
|
I see. This is because these are actually not conflicting changes,
but duplicate changes (which in darcs-2 are distinct). I'm not sure
how best to summarize duplicate changes.
In one sense, the current behavior seems good: this patch actually
has no effect, and file foo is only added once, so we only display
once that it's been added.
But on the other hand, it's also pretty useless: we can't see what
change this patch represents! :(
So it does seem that some summarization of duplicate changes would be
wise, but they aren't conflicts, so we don't want to mark them as
such, and I'm not sure how we *should* mark them. :( Ideas?
David
|
msg2487 (view) |
Author: daveroundy |
Date: 2008-01-14.21:05:43 |
|
I see. This is because these are actually not conflicting changes,
but duplicate changes (which in darcs-2 are distinct). I'm not sure
how best to summarize duplicate changes.
In one sense, the current behavior seems good: this patch actually
has no effect, and file foo is only added once, so we only display
once that it's been added.
But on the other hand, it's also pretty useless: we can't see what
change this patch represents! :(
So it does seem that some summarization of duplicate changes would be
wise, but they aren't conflicts, so we don't want to mark them as
such, and I'm not sure how we *should* mark them. :( Ideas?
David
|
msg2489 (view) |
Author: markstos |
Date: 2008-01-14.21:49:40 |
|
David Roundy wrote:
> David Roundy <daveroundy@gmail.com> added the comment:
>
> I see. This is because these are actually not conflicting changes,
> but duplicate changes (which in darcs-2 are distinct). I'm not sure
> how best to summarize duplicate changes.
>
> In one sense, the current behavior seems good: this patch actually
> has no effect, and file foo is only added once, so we only display
> once that it's been added.
>
> But on the other hand, it's also pretty useless: we can't see what
> change this patch represents! :(
>
> So it does seem that some summarization of duplicate changes would be
> wise, but they aren't conflicts, so we don't want to mark them as
> such, and I'm not sure how we *should* mark them. :( Ideas?
I think the change should reflect the effect of the patch in the absence
of duplicates.
Showing the "dopple" as containing a change and the "ganger" as
containing nothing is contextual. If the "dopple" patch as removed, then
the "ganger" patch would start to reflect the change I suppose. (And
this current behavior seems confusing).
I think it's fine if the effect of duplicate patches is duplicated in
"changes". From a user's perspective, this seems "correct" because both
patches did indeed contain a change, even if they cancel each other out.
<pauses>
What about another status letter, like "D" for duplicate, indicating
that there is something different about the primitive patch? I'm not
sure that's necessary, and could cause further confusion when part of a
file contains a duplicate change, and part of it contains a "real" change.
Mark
|
msg2490 (view) |
Author: droundy |
Date: 2008-01-14.22:00:41 |
|
On Mon, Jan 14, 2008 at 09:49:42PM -0000, Mark Stosberg wrote:
> What about another status letter, like "D" for duplicate, indicating that
> there is something different about the primitive patch? I'm not sure
> that's necessary, and could cause further confusion when part of a file
> contains a duplicate change, and part of it contains a "real" change.
The trouble is that the duplicate patches may not be possible at the
current patch position in history. e.g. if we have three changes
ab1: renames a to b
ab2: renames a to b
bc: renames b to c
then if we have these three changes in the order ab1 bc ab2, then the
summary would look like
ab1: a -> b
bc: b -> c
ab2: a -> b (duplicate)
The summary of ab2 seems like nonsense if you don't include the fact that
it's a duplicate, since there is no file named "a" to rename to "b".
I'm just not sure what would be the best approach here. :(
--
David Roundy
Department of Physics
Oregon State University
|
msg2491 (view) |
Author: markstos |
Date: 2008-01-14.22:00:51 |
|
David Roundy wrote:
> David Roundy <daveroundy@gmail.com> added the comment:
>
> I see. This is because these are actually not conflicting changes,
> but duplicate changes (which in darcs-2 are distinct). I'm not sure
> how best to summarize duplicate changes.
>
> In one sense, the current behavior seems good: this patch actually
> has no effect, and file foo is only added once, so we only display
> once that it's been added.
>
> But on the other hand, it's also pretty useless: we can't see what
> change this patch represents! :(
>
> So it does seem that some summarization of duplicate changes would be
> wise, but they aren't conflicts, so we don't want to mark them as
> such, and I'm not sure how we *should* mark them. :( Ideas?
I think the change should reflect the effect of the patch in the absence
of duplicates.
Showing the "dopple" as containing a change and the "ganger" as
containing nothing is contextual. If the "dopple" patch as removed, then
the "ganger" patch would start to reflect the change I suppose. (And
this current behavior seems confusing).
I think it's fine if the effect of duplicate patches is duplicated in
"changes". From a user's perspective, this seems "correct" because both
patches did indeed contain a change, even if they cancel each other out.
<pauses>
What about another status letter, like "D" for duplicate, indicating
that there is something different about the primitive patch? I'm not
sure that's necessary, and could cause further confusion when part of a
file contains a duplicate change, and part of it contains a "real" change.
Mark
|
msg2492 (view) |
Author: droundy |
Date: 2008-01-14.22:01:00 |
|
On Mon, Jan 14, 2008 at 09:49:42PM -0000, Mark Stosberg wrote:
> What about another status letter, like "D" for duplicate, indicating that
> there is something different about the primitive patch? I'm not sure
> that's necessary, and could cause further confusion when part of a file
> contains a duplicate change, and part of it contains a "real" change.
The trouble is that the duplicate patches may not be possible at the
current patch position in history. e.g. if we have three changes
ab1: renames a to b
ab2: renames a to b
bc: renames b to c
then if we have these three changes in the order ab1 bc ab2, then the
summary would look like
ab1: a -> b
bc: b -> c
ab2: a -> b (duplicate)
The summary of ab2 seems like nonsense if you don't include the fact that
it's a duplicate, since there is no file named "a" to rename to "b".
I'm just not sure what would be the best approach here. :(
--
David Roundy
Department of Physics
Oregon State University
|
msg2499 (view) |
Author: markstos |
Date: 2008-01-14.22:43:02 |
|
> I'm just not sure what would be the best approach here. :(
Could we just mark one as a duplicate, sort of like you did?
The edge case is when there are two primitives in a file, and one is a
duplicate and the other isn't. It might need two entries in "changes":
M ./foo -1 +1 (duplicate)
M ./foo -1 +1
Or maybe that should be:
M ./foo -1 +1 (some duplicate changes)
Using another letter or two like "M" for this purpose seems to be the
most consistent.
We could also solicit darcs-users for comments.
Mark
|
msg2500 (view) |
Author: markstos |
Date: 2008-01-14.22:43:06 |
|
> I'm just not sure what would be the best approach here. :(
Could we just mark one as a duplicate, sort of like you did?
The edge case is when there are two primitives in a file, and one is a
duplicate and the other isn't. It might need two entries in "changes":
M ./foo -1 +1 (duplicate)
M ./foo -1 +1
Or maybe that should be:
M ./foo -1 +1 (some duplicate changes)
Using another letter or two like "M" for this purpose seems to be the
most consistent.
We could also solicit darcs-users for comments.
Mark
|
msg2503 (view) |
Author: droundy |
Date: 2008-01-14.22:57:57 |
|
On Mon, Jan 14, 2008 at 10:43:06PM -0000, Mark Stosberg wrote:
> > I'm just not sure what would be the best approach here. :(
>
> Could we just mark one as a duplicate, sort of like you did?
Yes, that would be possible.
> Using another letter or two like "M" for this purpose seems to be the
> most consistent.
I'm not sure that a single letter would be very clear. It depends how
precise we want to be, I suppose. For replace patches, we output something
like
M ./foo -1 +1 r 1
so we might do something like this
M ./foo -1 +1 r 1 d 2
but this is getting pretty obscure-looking.
> We could also solicit darcs-users for comments.
Not a bad idea. Would you like to do this?
--
David Roundy
Department of Physics
Oregon State University
|
msg2504 (view) |
Author: droundy |
Date: 2008-01-14.22:58:01 |
|
On Mon, Jan 14, 2008 at 10:43:06PM -0000, Mark Stosberg wrote:
> > I'm just not sure what would be the best approach here. :(
>
> Could we just mark one as a duplicate, sort of like you did?
Yes, that would be possible.
> Using another letter or two like "M" for this purpose seems to be the
> most consistent.
I'm not sure that a single letter would be very clear. It depends how
precise we want to be, I suppose. For replace patches, we output something
like
M ./foo -1 +1 r 1
so we might do something like this
M ./foo -1 +1 r 1 d 2
but this is getting pretty obscure-looking.
> We could also solicit darcs-users for comments.
Not a bad idea. Would you like to do this?
--
David Roundy
Department of Physics
Oregon State University
|
msg2524 (view) |
Author: ertai |
Date: 2008-01-15.16:41:24 |
|
The solution, that I prefer is one of Mark Stosberg.
Adding (duplicate) to the summary:
M ./foo -1 +1 (duplicate)
And when there is a mix of duplicates and not duplicated changes:
M ./foo -1 +1 (some duplicate changes)
|
msg2525 (view) |
Author: kowey |
Date: 2008-01-15.16:47:47 |
|
How about adding xN to all occurences, where xN indicates that the change occurs
in N places?
Tue Jan 8 21:06:50 EST 2008 steve
* Bnote
M ./foo -1 +1
Tue Jan 8 21:06:49 EST 2008 steve
* Anote
A ./foo x2
Tue Jan 8 21:06:50 EST 2008 monica
* AZnote
A ./bar
A ./foo x2
|
msg2526 (view) |
Author: kowey |
Date: 2008-01-15.16:49:49 |
|
Sorry, I just realised that's this is pretty much what David proposed :-)
|
msg2527 (view) |
Author: markstos |
Date: 2008-01-15.16:57:12 |
|
Eric Kow wrote:
> Eric Kow <eric.kow@gmail.com> added the comment:
>
> How about adding xN to all occurences, where xN indicates that the change occurs
> in N places?
>
> Tue Jan 8 21:06:50 EST 2008 steve
> * Bnote
>
> M ./foo -1 +1
>
> Tue Jan 8 21:06:49 EST 2008 steve
> * Anote
>
> A ./foo x2
>
> Tue Jan 8 21:06:50 EST 2008 monica
> * AZnote
>
> A ./bar
> A ./foo x2
I find this not as clear. I might need to crack open the manual to find
out what "x2" means, while "(duplicate changes)" or the like is
immediately clear.
However, you could argue that this is consistent with the single letter
codes like "A" and "M" which may need to be looked up, although these
will be familiar to users of other SCM systems, while a notation about
duplicates will not be.
Mark
|
msg2528 (view) |
Author: markstos |
Date: 2008-01-15.16:57:18 |
|
Eric Kow wrote:
> Eric Kow <eric.kow@gmail.com> added the comment:
>
> How about adding xN to all occurences, where xN indicates that the change occurs
> in N places?
>
> Tue Jan 8 21:06:50 EST 2008 steve
> * Bnote
>
> M ./foo -1 +1
>
> Tue Jan 8 21:06:49 EST 2008 steve
> * Anote
>
> A ./foo x2
>
> Tue Jan 8 21:06:50 EST 2008 monica
> * AZnote
>
> A ./bar
> A ./foo x2
I find this not as clear. I might need to crack open the manual to find
out what "x2" means, while "(duplicate changes)" or the like is
immediately clear.
However, you could argue that this is consistent with the single letter
codes like "A" and "M" which may need to be looked up, although these
will be familiar to users of other SCM systems, while a notation about
duplicates will not be.
Mark
|
msg3937 (view) |
Author: droundy |
Date: 2008-03-20.17:49:56 |
|
Resolved by
Thu Mar 20 13:02:55 EDT 2008 David Roundy <droundy@darcs.net>
* resolve issue579: display duplicate changes in summary.
The code here really could use a cleanup. But this change fixes things so
you can now see duplicate changes in changes -s.
although apparently the automatic trigger misfired...
|
|
Date |
User |
Action |
Args |
2008-01-09 02:28:55 | markstos | create | |
2008-01-14 21:05:39 | daveroundy | set | status: unread -> unknown nosy:
+ daveroundy messages:
+ msg2486 |
2008-01-14 21:05:45 | daveroundy | set | messages:
+ msg2487 |
2008-01-14 21:49:43 | markstos | set | messages:
+ msg2489 |
2008-01-14 22:00:45 | droundy | set | messages:
+ msg2490 |
2008-01-14 22:00:53 | markstos | set | messages:
+ msg2491 |
2008-01-14 22:01:01 | droundy | set | messages:
+ msg2492 |
2008-01-14 22:43:04 | markstos | set | messages:
+ msg2499 |
2008-01-14 22:43:06 | markstos | set | messages:
+ msg2500 |
2008-01-14 22:57:59 | droundy | set | messages:
+ msg2503 |
2008-01-14 22:58:01 | droundy | set | messages:
+ msg2504 |
2008-01-15 16:41:27 | ertai | set | nosy:
+ ertai messages:
+ msg2524 |
2008-01-15 16:47:48 | kowey | set | messages:
+ msg2525 |
2008-01-15 16:49:51 | kowey | set | messages:
+ msg2526 |
2008-01-15 16:57:13 | markstos | set | messages:
+ msg2527 |
2008-01-15 16:57:19 | markstos | set | messages:
+ msg2528 |
2008-02-08 20:18:38 | markstos | link | issue659 superseder |
2008-02-16 18:55:35 | markstos | set | status: unknown -> has-patch nosy:
droundy, tommy, beschmi, kowey, markstos, daveroundy, ertai topic:
+ Confirmed |
2008-02-21 03:40:27 | markstos | set | topic:
+ Target-2.0 nosy:
droundy, tommy, beschmi, kowey, markstos, daveroundy, ertai |
2008-02-21 03:42:42 | markstos | unlink | issue659 superseder |
2008-02-26 15:09:35 | droundy | set | nosy:
droundy, tommy, beschmi, kowey, markstos, daveroundy, ertai title: Darcs2: "changes" shows revised history -> Darcs2: "changes -s" shows revised history |
2008-03-20 17:50:00 | droundy | set | status: has-patch -> resolved nosy:
droundy, tommy, beschmi, kowey, markstos, daveroundy, ertai messages:
+ msg3937 |
2008-09-28 20:49:43 | admin | set | nosy:
+ dagit, simon, thorkilnaur, - daveroundy |
2009-08-06 17:49:32 | admin | set | nosy:
+ jast, Serware, dmitry.kurochkin, darcs-devel, zooko, mornfall, - droundy, ertai |
2009-08-06 20:54:25 | admin | set | nosy:
- beschmi |
2009-08-10 22:10:25 | admin | set | nosy:
+ ertai, - darcs-devel, zooko, jast, Serware, mornfall |
2009-08-11 00:04:21 | admin | set | nosy:
- dagit |
2009-08-25 17:26:23 | admin | set | nosy:
+ darcs-devel, - simon |
2009-08-27 13:56:51 | admin | set | nosy:
tommy, kowey, markstos, darcs-devel, thorkilnaur, ertai, dmitry.kurochkin |
2009-10-23 22:40:34 | admin | set | nosy:
+ nicolas.pouillard, - ertai |
2009-10-24 00:05:31 | admin | set | nosy:
+ ertai, - nicolas.pouillard |
2010-06-15 21:20:13 | admin | set | milestone: 2.0.x |
2010-06-15 21:20:14 | admin | set | topic:
- Target-2.0 nosy:
+ Serware |
|