[squeak-dev] Unexpected merge conflict for postscripts in the update stream

christoph.thiede at student.hpi.uni-potsdam.de christoph.thiede at student.hpi.uni-potsdam.de
Wed Dec 29 20:18:11 UTC 2021


Hi all,

I now saw this at least for the second time: While updating an older Trunk image to the latest Trunk version, a merge conflict for the postscript of a package needs to be resolved. In my example, Morphic-mt.1801 is being merged into an image with Morphic-ct.1789 with an empty working copy. In [] in MCThreeWayMerger>>modifyDefinition:to:, the three (!) different versions of the script look like this:

baseDefinition
	SystemProgressMorph reset. "New layer number"

targetDefinition
	SystemProgressMorph reset. "New layer number"
	
	"Morphic-ct.1796 - Inverts the preference 'halo encloses full bounds' by pressing the control key while invocating a halo."
	(Preferences preferenceAt: #haloEnclosesFullBounds) instVarNamed: 'helpString' put: 'If enabled, halos will enclose the full bounds of the target morph, rather than just the bounds. 	You can also invert this behavior temporarily by holding down Ctrl while invoking a halo on a morph.'.

other
	TextEditor withAllSubclassesDo: [:editor | editor initialize]. "recreate menu morphs to update their morphic layer number"

I am unsure what would be the right way to fix this issue. Can we assume that the former script has already been run and always choose other? Or do we need to run both target and other? As (update stream) postscripts *should* be idempotent, could we just append some of the postscripts - e.g., by adding some extra logic to the exception handler in MCConfiguration >> #upgrade? Or where else are we missing a piece of logic?

Best,
Christoph

---
Sent from Squeak Inbox Talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211229/8db9e5af/attachment.html>


More information about the Squeak-dev mailing list