Hello Mark,
As I've mentioned before I think some long operations are too silent and
deserve more information for the waiting user.
As first victim I choose Commit.
I've noticed that in CheckoutCommand there was a lot of duplicity by having
two versions of run() and scrubProjects() methods.
The two versions were actually identicall, except for the code for
monitoring. (And of course the run(monitor) is also forking runnable
interface)
Honestly I hate duplicate code so I merged these methods back to a single
one with the monitor argument as optional.
According to log message, these non-monitored versions were created to allow
to run them as a background operation.
But that does not mean the background may not have monitors, right ?
So after I've merged them into single methods, I created a clone of
"backgroundable" run() method with a name runDirectly().
(I really could not find a better name, please change if you have a better
proposal).
This runDirectly() method is now being called from
CheckoutAsProjectOperation.
To get the progress messages from the svnClient I added an optional
notifyLister to the OperationManager.
At the moment it only listens for the logMessage().
For the convenience reasons, there is also a ISVNNotifyAdapter there ...
If you would like this change, I can later take a look at other operations
...
Regards,
Martin
Received on Wed Jun 29 02:57:48 2005