为什么这些包被标记为 'dirty'?

Why are these packages being marked 'dirty'?

我刚刚开始学习 Monticello 并且遇到了一些困难。我一直在阅读 Deep Into Pharo 和 Dead Simple Intro to Monicello。我还观看了关于该主题的 Pharocast,它进行得非常快,而且所使用的代码版本似乎较旧,因此与我所拥有的 UI(Pharo 5.0)不完全匹配。我明白文档告诉我的内容,但他们几乎都在直截了当。

我一直在做一个项目,当我去蒙蒂塞洛查看包列表时,其中几个不属于我的包被标记为 "dirty"。

我创建的第一个包应该是脏的。但其他列出的要么是我的 Pharo 5.0 安装,要么是我安装的 Gofer(Garage 包)。

为什么这些其他包裹被标记为脏?我检查了 "changes" 中的几个,其中一些显示出相当多的变化。我没有改变他们中的任何一个。我可以忽略这些指标吗?

这有几个略有不同的技术原因,归结为一件事:蒙蒂塞洛猜错了。我并不是说 Monticello 在这方面 "bad" 但近年来加载变得更加复杂,当涉及到脏标记时,Monticello 无法应对所有不同的问题。

举个例子,看看"UnifiedFFI"和"UnifiedFFI-Legacy"。它们都具有相同前缀的事实很好地表明 Monticello 认为,在加载 "UnifiedFFI-Legacy" 时,它正在修改 "UnifiedFFI"。 "UnifiedFFI" 因此变成 "dirty".

免责声明:示例可能不完全正确,因为这都是我的想法。

显然,一个脏包也可能只是脏的,因为两个包有横切代码,这很糟糕但发生了。

回答你的问题:是的,你可以简单地忽略脏包。 (我们正在努力改善这种情况。)