Reputation: 58244
I'm just learning Monticello and having a few struggles with it. I've been reading Deep Into Pharo, and Dead Simple Intro to Monicello. I've also watched the Pharocast on the topic, which went by quite rapidly, and the version of the code used appeared to be older so didn't quite match the UI of what I have (Pharo 5.0). I get what the docs are telling me, but they pretty much all stay on the straight-and-narrow.
I've been working on a project, and when I go to Monticello and look at the list of packages, several of them that don't belong to me are marked "dirty".
The first package I created and it should be dirty. But the others listed either came with my Pharo 5.0 installation, or I installed with Gofer (the Garage package).
Why are these other packages marked dirty? I checked "changes" for a couple of them and some show quite a few changes. I haven't changed any of them. Can I just ignore these indicators?
Upvotes: 2
Views: 127
Reputation: 5125
There are a couple of slightly different technical reasons for this which all boil down to one thing: Monticello makes the wrong guess. I'm not saying that Monticello is "bad" at this but loading has become much more complex in recent years and Monticello can't cope with all the different problems when it comes to dirty marks.
To give you an example, look at "UnifiedFFI" and "UnifiedFFI-Legacy". The fact the they both have the same prefix is a good indication that Monticello thinks that, while loading "UnifiedFFI-Legacy", it is modifying "UnifiedFFI". "UnifiedFFI" therefore becomes "dirty".
Disclaimer: The example may not be entirely correct since this is all from the top of my head.
Obviously, a dirty package may also just be dirty because two packages have crosscutting code, which is bad but happens.
To answer your question: yes, you can simply ignore the dirty packages. (We're working to improve the situation.)
Upvotes: 3