Tobias got me, Branches are valid (was: Re: [squeak-dev] Urgent, Spur users please read, was: The Inbox: Kernel-kfr.858.mcz)

Chris Muller ma.chris.m at gmail.com
Fri Jun 20 01:49:10 UTC 2014


I can't believe it.  Nicolas' note moved the needle for me but you
actually cracked the code which forces me to accept branches.

I also, separately, realized that "Naming Branches" is a valid
requirement not satisfied solely by the ancestry.  While I still say
the tools should be good enough to solve the use-case of "figuring out
which version you want" without branch names, *naming a branch* is
valid and should be doable.

So if I accept Branch Naming as valid, then where to store it?
Embedding into the version-name is the only feasible place otherwise,
(sigh), FileBasedRepository wouldn't be able to filter it efficiently.
I don't care for that in principle, but it at least now makes sense
how and why it came to be this way.  TSTTCPW.

But realizing / remembering the problem you pointed out with separate
FileBased repositories (below); I'm forced to accept MC branch-naming
as valid and necessary.

My other problem at first was I had thought Bert and Eliot were the
only ones doing it, I didn't realize this has been done much more
widely than that.

(There's got to be a way to make that code better though..)

> When working with SqueakSource, I had, for an already in-production version, to release
> a security update. No big deal, load that old, deployed MCZ, fix the error and recommit:
>
>         - Load SqueakSource-Core-topa.12345 (for example)
>         - Fix ...
>         - Safe as.. wait…
>
> There is already SqueakSource-Core.topa-12346, because I continued development.
> So, I could have used
>         SqueakSource-Core-topa.15003
> and get confused every time I look at my repo, or use
>         - SqueakSource-Core.hotfix-topa.12346

Yes, I've (accidently) made two versions with same name before and it
sucks when you want to put them back into the same repo.  Not just
because of the name-collision in the directory, but that Versions
themselves can _never_ be renamed, otherwise FileBased will not be
able to access them, because the names are recorded in the ancestry
and that's the only way FileBased knows how to access them.

Duplicate names could _easily_ occur when using separate repositories,
making their eventual re-merge basically impossible.  So this, alone,
is a show-stopper for the multiple repositories idea.

> And in the end, this is the way to go.

So, okay, I'm finally convinced!  You did it to me again -- (last time
was about the World menu short cuts).

> ...
> Branches are there since the inception of Monticello, we really should embrace them.

I will eventually try to fix up the other repository-types.  I would
like them to be a bit more explicit too.

> PS: why privately?

I was trying to give community a break from this discussion but now
since I had to confess, I went back to squeak-dev -- hope that's okay.


More information about the Squeak-dev mailing list