[sugar] Implicit saving

Eben Eliason eben.eliason
Fri Aug 31 17:14:11 EDT 2007

On 8/31/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On Aug 31, 2007, at 12:54 , Eben Eliason wrote:
> > The "keep" button is going to explicitly create a copy of the current
> > state as a new entry within the Journal, so that incremental saves are
> > supported until we have proper versions.
> How does it do this? Supposedly it just creates a new entry in the
> datastore, which then would have a new object id. How would it inform
> Sugar that the running activity instance now is associated with that
> new object id? If I'm not mistaken then currently Sugar assumes the
> object id currently "bound" to an activity instance never changes.

Indeed.  As we only recently realized we wouldn't land versions in
time, we're just determining the details of this new approach.  Right
now, it has been implemented in the simplest fashion, creating a copy
but dropping the activity ID and therefore its direct association.
The two objects are separate.

We're experimenting to see if we can implement pseudo-versioning, so
that they both retain the same activity ID but get a unique version
identifier.  If done properly, we might be able to properly migrate
all of these files into the true versioning system later when it makes
it into builds.

More directly to your question, though (after re-reading it I see your
original point), I don't think we have to switch the associated ID.
Each copy is identical at that point, so it doesn't really matter
which one is the one that is continued forward.  They will appear
ordered in the Journal by the time at which they were saved, so when
the first copy...the one you originally opened, finally gets saved and
closed, it will appear as the most recent one.

- Eben

More information about the Sugar-devel mailing list