monticello

Avi Bryant avi at beta4.com
Thu Nov 21 19:29:13 UTC 2002


On Thu, 21 Nov 2002, Stephen Pair wrote:

> > No, but you're not thinking about it right.  Forget client side vs server
> > side for a moment...what you are merging are two branches in your semantic
> > model...whether it happens on the client or server makes no difference
> > except as it relates to performance and complexity of the communications
> > protocol (and maybe security, but completely forget that issue for now).
> > The question is, do I want to move all of my code objects to the client to
> > perform the merge or not.  If your clients are all working from a shared
> > directory (with no server squeak process) then clearly, the only place you
> > can do a merge is on the client.
> >
> > - Stephen
>
> Just a follow up to this...if you design the merge operation (in whatever
> form that takes) to work on your semantic model, then it should make no
> difference to you whether you are merging two package versions stored in the
> repository, or you are merging one package version stored in the repository
> and one that is only in the client image and has never made it into the
> repository (the case when you are wanting to avoid creating a branch in the
> repository).

That is indeed how the merge operation is designed.  In general, the
semantic model is written to leave a lot of flexibility in terms of the
process (when and how merges happen, etc).  It's because that flexibility
is there that I'm even bothering to ask how things should work ;) - any of
these should be very simple to implement.

"Client side" vs. "server side" is maybe the wrong terms for what I'm
asking - basically it comes down to whether you merge two numbered,
committed versions (like StORE) or merge one committed version into your
uncommitted working copy (like CVS).  Or both.  Does that make sense?




More information about the Squeak-dev mailing list