GemTalk / Rowan

a new project/package manager for Smalltalk that supports FileTree and Tonel repositories, and is independent of Monticello and Metacello
MIT License
13 stars 7 forks source link

(v3) Reloading RwProject after checking out different branch checks out previous branch #912

Closed ericwinger closed 5 months ago

ericwinger commented 7 months ago

My reproduction case is in Jadeite but I suspect that it could be reproduced in topaz:

This seems to be a bug. If this is intended behavior, it's quite surprising and not intuitive.

dalehenrich commented 7 months ago

looks like a bug ...

there are certain circumstances where switching branches is desired (resolveStrict), but this issue doesn't smell like that particular circumstance ...

the other fishy bit is that the RowanSample1 load spec for sample_V2 does have a revision specified (sample_v2), and there are certain operations that could trigger a switch branch and that is probably the situation that you're running into here ... definitely not expected,...

If you are handling a RwAllowChangeRepositoryRevisionOnResolveNotification and resuming with true, then this would be expected behavior for RowanSample1 ...

Finally, it doesn't look like there any Rowan tests that play with RowanSample1, so a regression with respect to RowanSample1 specs would not be surprising ... no tests using RwAllowChangeRepositoryRevisionOnResolveNotification, either ...

I see that Jadeite has RowanSample1 tests, but up until now(?) they weren't wandering into "unknown territory"

... and of course when I get to fixing this bug, I will add more test coverage in this area ...

ericwinger commented 7 months ago
If you are handling a RwAllowChangeRepositoryRevisionOnResolveNotification and resuming with true, then this would be expected behavior for RowanSample1 ...

To my knowledge no notifications or warnings were raised.

dalehenrich commented 5 months ago

reload should use the loadedLoadSpecifications;read:;load sequence

dalehenrich commented 5 months ago

With the recent changes to the #reload implementation (0a0a7f184), this problem does not appear to reproduce: image

JadeiteForPharo ce29551
PharoGemStoneFFI 3575de4
RemoteServiceReplication 371ae8e
---------------------------------------------
RowanClientServices ef59884
RowanV3 0a0a7f184

fixed by Issue #926