darcs

Patch 1914 rewrite Summary RebaseChange to avoid force-commute

Title rewrite Summary RebaseChange to avoid force-commute
Superseder Nosy List ganesh
Related Issues
Status accepted Assigned To
Milestone

Created on 2019-09-11.13:37:55 by ganesh, last changed 2019-09-20.15:43:57 by bf.

Files
File name Status Uploaded Type Edit Remove
document-why-we-commute-in-rebasechange_conflictedeffect.dpatch ganesh, 2019-09-20.15:08:45 application/x-darcs-patch
patch-preview.txt ganesh, 2019-09-11.13:37:55 text/x-darcs-patch
patch-preview.txt ganesh, 2019-09-20.15:08:45 text/x-darcs-patch
rewrite-summary-rebasechange-to-avoid-force_commute.dpatch ganesh, 2019-09-11.13:37:55 application/x-darcs-patch
unnamed ganesh, 2019-09-11.13:37:55 text/plain
unnamed ganesh, 2019-09-20.15:08:45 text/plain
See mailing list archives for discussion on individual patches.
Messages
msg21403 (view) Author: ganesh Date: 2019-09-11.13:37:55
Ben: I won't screen this immediately to give you a chance to comment,
but I think it should go in. It's something I did along the way
in my other refactorings but it stands alone, with the addition
of an 'effect' call on changes that I think doesn't really matter.

It eliminates one of the two force-commutes in D.P.R.Viewing,
leaving only the one we really need for unsuspend. It will
simplify the subsequent refactorings.

1 patch for repository darcs-unstable@darcs.net:screened:

patch 58e71a53c8c1964ee639e0c10418ebec28a92879
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Wed Sep 11 14:40:24 BST 2019
  * rewrite Summary RebaseChange to avoid force-commute
Attachments
msg21409 (view) Author: ganesh Date: 2019-09-13.09:13:14
Pushing to screened as I didn't hear any objections.
msg21483 (view) Author: bf Date: 2019-09-20.12:16:54
I think this change is sound, but I wonder if it isn't still more
complicated than necessary. In particular, why do we have to commute
here at all? I thought we have a global rebase invariant that says
fixups are always pushed as far into rebase as possible? If this is
indeed the case, then we should be able to assume that we cannot
commute any of the fixups with the toedit patch.
msg21484 (view) Author: ganesh Date: 2019-09-20.12:40:53
> I think this change is sound, but I wonder if it isn't still more
> complicated than necessary. In particular, why do we have to commute
> here at all? I thought we have a global rebase invariant that says
> fixups are always pushed as far into rebase as possible? If this is
> indeed the case, then we should be able to assume that we cannot
> commute any of the fixups with the toedit patch.

That's a good question I had to think about a bit. But actually
'changes' displays the conflicts at a more fine-grained level
than the toedit patch as a whole, so we have to do this to
find out which individual prims are conflicted. The test I wrote
(rebase-changes-partial-conflict) demonstrates this, because
only some of the files are reported as conflicted.

I'll add a comment to clarify as it wasn't immediately obvious
to either of us.
msg21490 (view) Author: ganesh Date: 2019-09-20.15:08:45
1 patch for repository darcs-unstable@darcs.net:screened:

patch 221234895599d380546647c42f540d2256d28340
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Fri Sep 20 15:51:19 BST 2019
  * document why we commute in RebaseChange.conflictedEffect
Attachments
msg21493 (view) Author: bf Date: 2019-09-20.15:41:01
> patch 221234895599d380546647c42f540d2256d28340
> Author: Ganesh Sittampalam <ganesh@earth.li>
> Date:   Fri Sep 20 15:51:19 BST 2019
>   * document why we commute in RebaseChange.conflictedEffect

Cool, thanks for the good explanation.
History
Date User Action Args
2019-09-11 13:37:55ganeshcreate
2019-09-13 09:13:15ganeshsetstatus: needs-screening -> needs-review
messages: + msg21409
2019-09-20 12:16:54bfsetstatus: needs-review -> review-in-progress
messages: + msg21483
2019-09-20 12:40:53ganeshsetmessages: + msg21484
2019-09-20 15:08:45ganeshsetfiles: + patch-preview.txt, document-why-we-commute-in-rebasechange_conflictedeffect.dpatch, unnamed
messages: + msg21490
2019-09-20 15:41:01bfsetmessages: + msg21493
2019-09-20 15:43:57bfsetstatus: review-in-progress -> accepted