[squeak-dev] Monticello UI unexpected behavior (was: Monticello model corrupt after network error)

Marcel Taeumel marcel.taeumel at hpi.de
Mon May 2 09:29:38 UTC 2022


Also note that an empty diff might happen if one commit adds sth. and another one removes it and there are not checkpoints in between. The "Squeak update" feature downloads .mcd (i.e., diffs) from the server to speed things up.

Best,
Marcel
Am 02.05.2022 03:24:44 schrieb Chris Muller <asqueaker at gmail.com>:
The philosophy of Monticello's design was to be resilient in decentralized and partial repositories (e.g., which may or may not have all version files, even though they should).  It assumes less of a "centralized control" philosophy than other kinds of repositories, and therefore may be more lax in letting the users decide what content to put into their repositories.  But it can at least warn you.  I introduced MCEmptyVersion a few years ago to enable the ability to intercept this condition, but it's just a Warning.


An empty changes list without any message would be less user-friendly than the alert message, but when the user clicks "Save", the philosophy's answer to "Why would you," (want to save an empty mcz) is to let the human user decide.

 - Chris

On Sun, May 1, 2022 at 2:36 PM Jakob Reschke <jakres+squeak at gmail.com [mailto:jakres%2Bsqueak at gmail.com]> wrote:

Agreed, there is no real use case where you would want to create such
versions manually. Git prohibits it as well, unless you specify
--allow-empty when committing.

Detecting the situation in Monticello and adding a guard would be easy
I suppose, but I would not make it a priority. The handling makes the
implementation more complicated (how to signal, how to handle, in a
GUI workflow vs. a scripted workflow, ...) and the benefit is minimal,
since one can clearly see by oneself that there are no changes in the
save dialog. :-)

Also note that even if you have changes, you can "ignore" all of them
in the save dialog, so we would also have to check again after the
save dialog was accepted.

Am So., 1. Mai 2022 um 21:09 Uhr schrieb Lauren Pullen <drurowin at gmail.com [mailto:drurowin at gmail.com]>:
>
> Hi Jakob,
>
> On 4/30/22 15:35, Jakob Reschke wrote:
> > Technically it is possible to create new versions that do not
> > introduce any changes. I do not know whether this is by design or not.
> > It is certainly not necessary to prevent it.
> >
> > Is your design bug inquiry only about the asymmetry between "Changes"
> > and "Save", where the former has a special case for "no changes", but
> > the latter does not have it? Or did you expect something else to be
> > different or behave differently as well?
> It's the asymmetry between Changes and Save.  My experience with version
> control software is that you cannot store a commit that makes no
> change... why would you?
>
> It does no harm, but it certainly was surprising.  ;)
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220502/f3a7cdac/attachment.html>


More information about the Squeak-dev mailing list