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)

Jean-Michel,

Wow. What an incredibly kind and descriptive response. I greatly appreciate your taking the time to explain in detail the concepts and mechanism. I look forward to trying this for checkpoints. Of course, I will be happy to give any feedback. Hopefully I will have some questions after looking at the branch code you have supplied. Thanks for the help and for being very understanding about my needing more direction since our talk in DisneyLand. I'll be in touch next week I think.

Cheers, Chris

Jean-Michel Lemieux wrote:

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





Back to the top