EGit operation / action refactoring
commitecbcfec5e7062d87dcc25eea33972c1805aca87f
authorJens Baumgart <jens.baumgart@sap.com>
Tue, 4 May 2010 15:28:55 +0000 (4 17:28 +0200)
committerJens Baumgart <jens.baumgart@sap.com>
Tue, 4 May 2010 15:28:55 +0000 (4 17:28 +0200)
tree0ffd43c2cedf69cbfe7a45a9339440c297ba564b
parent30235a88e38ab0483798b2e21d62dc76620af152
EGit operation / action refactoring

Replace IWorkspaceRunnable in EGit operations (e.g. BranchOperation)
by a new interface IEGitOperation.
IWorkspaceRunnable is no good interface for an operation. The user
thinks he has to execute the operation using Workspace.run. But that
is not right for all EGit operations. Currently many operations are
used by just calling op.run. Thus a new interface with an execute
method was introduced. Those operations that need a workspace runnable
and a scheduling rule do the workspace runnable in their execute
method (e.g. branch). It's an internal of an operation how it needs
to execute.
BranchOperation now uses a workspace runnable to lock the workspace
while the working tree is modified.
BranchAction executes BranchOperation in a Job. The other actions
will be adopted to this execution pattern in further commits.

Change-Id: Ia3c1bf157d17632a17b7c678ee45717fb7944f0c
Signed-off-by: Jens Baumgart <jens.baumgart@sap.com>
37 files changed:
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/T0003_AdaptableFileTreeIteratorTest.java
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/internal/mapping/T0002_HistoryTest.java
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/T0001_ConnectProviderOperationTest.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/AddToIndexOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/BranchOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/DisconnectProviderOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/IEGitOperation.java [copied from org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AbstractRevObjectOperation.java with 50% similarity]
org.eclipse.egit.core/src/org/eclipse/egit/core/op/ResetOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/TrackOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/UpdateOperation.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/Activator.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AbstractOperationAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AbstractRevObjectOperation.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AddToIndexAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AssumeUnchanged.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/BranchAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/Disconnect.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/HardResetToRevisionAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/MixedResetToRevisionAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/QuickdiffBaselineOperation.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ResetAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ResetQuickdiffBaselineAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ResetQuickdiffBaselineHeadParentAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SetQuickdiffBaselineAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SoftResetToRevisionAction.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/Track.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/Untrack.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/Update.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCreateProjectViaWizardWizard.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitProjectsImportPage.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/SharingWizard.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties