Community
Participate
Working Groups
What used to be called the offline mode in CDO is actually way more than that. It's more like Git repository cloning with background replication. Very powerful, but sometimes not desirable because: - Setup is complex (may be fixed in the future) - Consumes resources even if the full power of cloned repositories are not needed (no offline history, no offline branching, no multiple offline clients, etc) Often the requirements are much simpler: - Work offline on a snapshot (no history, no branches) - Update the snapshot occasionally - Commit changes of the snapshot to the remote repository occasionally
Initial Design: public final class CDOWorkspaceUtil { public static CDOWorkspace checkout(IStore local, CDOSessionConfigurationFactory remote, String branchPath, long timeStamp); public static CDOWorkspace open(IStore local, CDOSessionConfigurationFactory remote); } public interface CDOWorkspace extends Closeable { public IRepository getLocalRepository(); public CDOView openView(); public CDOView openView(ResourceSet resourceSet); public CDOTransaction openTransaction(); public CDOTransaction openTransaction(ResourceSet resourceSet); public CDOTransaction update(CDOMerger merger); public CDOTransaction update(CDOMerger merger, String branchPath); public CDOTransaction update(CDOMerger merger, String branchPath, long timeStamp); public void revert(); public void replace(String branchPath, long timeStamp); public void commit(String comment); }
Created attachment 180562 [details] Patch v1 - incomplete Working so far: - Checkout - Reading through CDOViews - Modifying objects through CDOTransactions (local commit) - Adding objects through CDOTransactions (local commit)
See org.eclipse.emf.cdo.tests.WorkspaceTest
All 11141 tests passed. Committed patch v1 to HEAD.
Created attachment 181855 [details] Patch v2 - incomplete
Moving all open enhancement requests to 4.1
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.