Skip to main content

[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


Back to the top