[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-team-dev] Synchronize subscriber usage (for Checkpoints)
|
Salut Chris. I do remember our conversation and I don't blame you for
forgetting everything, it was the last day and all :)
Our new synchronization APIs will be perfect for showing and allowing
users to manage check-pointed local history. For the moment the 'real'
APIs are in a branch but you are free to try them out. By the end of the
week, maybe next week, we will be releasing them to HEAD. I've attached a
team project set that you can use to checkout the code from the
repository. Most of the package.html files are reasonably up-to-date.
To start, here is a quick overview of the APIs. This should be enough to
get you oriented and ready to start. The foundation of this support is
based on the following concepts:
- local resources may have variants available (think of a resource variant
as an alternate revision of the resource).
- synchronization state of local resources and variants is modelled by a
SyncInfo.
- SyncInfo can be stored in a collection (tree or set) that supports
notifications. This would allow building UIs that can be updated as sync
states change.
- there are several UI pieces available for showing sync state models in
the sync view and in other contexts (e.g. other views, compare editors,
wizards, dialogs)
But you ask, where do you actually store the variants? Subscribers
maintain the tree(s) of variants and ideally create the SyncInfo for a
particular usage. In the case of a local history you may not need one
because the variant state is already cached locally for you via the core
APIs. So you could image building a simple sync model for local history
checkpoints by defining a set of SyncInfo per checkpoint. What's
interesting with a checkpoint is that it's immutable. Well at least that's
my impression of a checkpoint. That means that contrary to the CVS
workspace model where the sync state can change at any time, the sync
state for a checkpoint doesn't. This actually makes your life a lot easier
:)
Now for presenting the synchronization states in the UI there are a couple
of helper classes that can take a collection of SyncInfo and display them.
You simply have to add the actions to merge the changes into the
workspace. You will have to decide how the user sees and manages the
checkpoints. Are they are shown in the view at once, or do you have a
checkpoint selection dialog then show the checkpoint?
Anyway, this should get you started. Please feel free to call me if you
have questions or want us to look at your code. This is an excellent test
case for the APIs, so we would love to get feedback from you.
Cheers,
Jean-Michel
Chris Tilt <chris@xxxxxxxxx>
Sent by: platform-team-dev-admin@xxxxxxxxxxx
02/18/2004 05:54 PM
Please respond to
platform-team-dev@xxxxxxxxxxx
To
platform-team-dev@xxxxxxxxxxx
cc
Subject
[platform-team-dev] Synchronize subscriber usage (for Checkpoints)
Hello. I spoke with Jean-Michel at EclipseCon, where we discussed the
potential usage of the new Synchronizer View to handle a merge of
several local history files with the workspace. I took some notes, but
the details were foggy then and have evaporated completey at this point.
Would someone care to briefly point out the components needed to provide
the model and UI for a compare/merge like operation using the new API?
Assume that I have a set of resources (in my case, files from the local
history) and I want to give the user a nice way to select which ones to
"restore".
This is towards resolution of Bug#36958 "[plan item] Support workspace
checkpoint and rollback". Thanks for the help.
Cheers,
Chris Tilt
Eclipse-Debug
IBM/Beaverton
_______________________________________________
platform-team-dev mailing list
platform-team-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-team-dev
Attachment:
team-cvs-syncbranch.psf
Description: Binary data