diff options
author | Michael Valenta | 2004-10-22 13:27:32 +0000 |
---|---|---|
committer | Michael Valenta | 2004-10-22 13:27:32 +0000 |
commit | 2af8f048d8f7679b0a0c224f4d99f2f9940ea1b5 (patch) | |
tree | 5a3065ef244146341040d8166a6c7567d2945c4c /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui | |
parent | a57799e781f077278350d8241643bcc489982c69 (diff) | |
download | eclipse.platform.team-2af8f048d8f7679b0a0c224f4d99f2f9940ea1b5.tar.gz eclipse.platform.team-2af8f048d8f7679b0a0c224f4d99f2f9940ea1b5.tar.xz eclipse.platform.team-2af8f048d8f7679b0a0c224f4d99f2f9940ea1b5.zip |
Bug 76582 Cvs errors get swalled and only fully reported in .log file
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui')
5 files changed, 92 insertions, 17 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java index 8c5c33920..a95586e71 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java @@ -13,6 +13,7 @@ package org.eclipse.team.internal.ccvs.ui.console; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; + import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.jface.preference.IPreferenceStore; @@ -25,6 +26,7 @@ import org.eclipse.swt.graphics.*; import org.eclipse.swt.widgets.Display; import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; import org.eclipse.team.internal.ccvs.core.CVSStatus; +import org.eclipse.team.internal.ccvs.core.client.Session; import org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener; import org.eclipse.team.internal.ccvs.ui.*; import org.eclipse.ui.PlatformUI; @@ -102,6 +104,7 @@ public class CVSOutputConsole extends MessageConsole implements IConsoleListener consoleManager = ConsolePlugin.getDefault().getConsoleManager(); CVSProviderPlugin.getPlugin().setConsoleListener(CVSOutputConsole.this); CVSUIPlugin.getPlugin().getPreferenceStore().addPropertyChangeListener(CVSOutputConsole.this); + setAutoScroll(true); } /* (non-Javadoc) @@ -199,14 +202,9 @@ public class CVSOutputConsole extends MessageConsole implements IConsoleListener } } } - - private void showConsole() { - if(showOnMessage) { - if(!visible) - CVSConsoleFactory.showConsole(); - else - consoleManager.showConsoleView(this); - } + + private void showConsole() { + show(false); } /* (non-Javadoc) @@ -243,7 +241,8 @@ public class CVSOutputConsole extends MessageConsole implements IConsoleListener /* (non-Javadoc) * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#commandInvoked(java.lang.String) */ - public void commandInvoked(String line) { + public void commandInvoked(Session session, String line) { + if (!session.isOutputToConsole()) return; commandStarted = System.currentTimeMillis(); appendLine(ConsoleDocument.COMMAND, Policy.bind("Console.preExecutionDelimiter")); //$NON-NLS-1$ appendLine(ConsoleDocument.COMMAND, line); @@ -252,21 +251,26 @@ public class CVSOutputConsole extends MessageConsole implements IConsoleListener /* (non-Javadoc) * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#messageLineReceived(java.lang.String) */ - public void messageLineReceived(String line) { - appendLine(ConsoleDocument.MESSAGE, " " + line); //$NON-NLS-1$ + public void messageLineReceived(Session session, String line, IStatus status) { + if (session.isOutputToConsole()) { + appendLine(ConsoleDocument.MESSAGE, " " + line); //$NON-NLS-1$ + } } - - /* (non-Javadoc) + + /* (non-Javadoc) * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#errorLineReceived(java.lang.String) */ - public void errorLineReceived(String line) { - appendLine(ConsoleDocument.ERROR, " " + line); //$NON-NLS-1$ + public void errorLineReceived(Session session, String line, IStatus status) { + if (session.isOutputToConsole()) { + appendLine(ConsoleDocument.ERROR, " " + line); //$NON-NLS-1$ + } } /* (non-Javadoc) * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#commandCompleted(org.eclipse.core.runtime.IStatus, java.lang.Exception) */ - public void commandCompleted(IStatus status, Exception exception) { + public void commandCompleted(Session session, IStatus status, Exception exception) { + if (!session.isOutputToConsole()) return; long commandRuntime = System.currentTimeMillis() - commandStarted; String time; try { @@ -373,4 +377,18 @@ public class CVSOutputConsole extends MessageConsole implements IConsoleListener RGB rgb = PreferenceConverter.getColor(CVSUIPlugin.getPlugin().getPreferenceStore(), preference); return new Color(display, rgb); } + + /** + * Show the console. + * @param showNoMatterWhat ignore preferences if <code>true</code> + */ + public void show(boolean showNoMatterWhat) { + if(showNoMatterWhat || showOnMessage) { + if(!visible) + CVSConsoleFactory.showConsole(); + else + consoleManager.showConsoleView(this); + } + + } }
\ No newline at end of file diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CVSOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CVSOperation.java index 4241f9a55..4d52eb6a9 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CVSOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CVSOperation.java @@ -16,6 +16,8 @@ import java.net.URL; import java.util.*; import org.eclipse.core.runtime.*; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; @@ -288,4 +290,28 @@ public abstract class CVSOperation extends TeamOperation { // Put CVS jobs in the background by default. return true; } + + /* (non-Javadoc) + * @see org.eclipse.team.ui.TeamOperation#isSameFamilyAs(org.eclipse.team.ui.TeamOperation) + */ + protected boolean isSameFamilyAs(TeamOperation operation) { + // Trat all CVS operations as a single family + return operation instanceof CVSOperation; + } + + /* + * Action to show the console that can be used by subclasses + * that wish to link the progress service to the console + */ + protected IAction getShowConsoleAction() { + // Show the console as the goto action + return new Action("Show CVS Console") { + public void run() { + CVSUIPlugin.getPlugin().getConsole().show(true); + } + public String getToolTipText() { + return "Show CVS Console"; + } + }; + } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CheckoutOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CheckoutOperation.java index 06bb85ec8..761169a42 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CheckoutOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CheckoutOperation.java @@ -12,6 +12,7 @@ package org.eclipse.team.internal.ccvs.ui.operations; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.action.IAction; import org.eclipse.team.internal.ccvs.core.CVSException; import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder; import org.eclipse.team.internal.ccvs.ui.Policy; @@ -67,4 +68,19 @@ public abstract class CheckoutOperation extends RemoteOperation { public boolean canRunAsJob() { return true; } + + /* (non-Javadoc) + * @see org.eclipse.team.ui.TeamOperation#isKeepOneProgressServiceEntry() + */ + public boolean isKeepOneProgressServiceEntry() { + // Keep the last repository provider operation in the progress service + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.team.ui.TeamOperation#getGotoAction() + */ + protected IAction getGotoAction() { + return getShowConsoleAction(); + } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RemoteLogOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RemoteLogOperation.java index f6e7d5001..5018a29c7 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RemoteLogOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RemoteLogOperation.java @@ -208,7 +208,7 @@ public class RemoteLogOperation extends RepositoryLocationOperation { */ protected void execute(ICVSRepositoryLocation location, ICVSRemoteResource[] remoteResources, IProgressMonitor monitor) throws CVSException { monitor.beginTask(Policy.bind("RemoteLogOperation.0", location.getHost()), 100); //$NON-NLS-1$ - Session s = new Session(location, CVSWorkspaceRoot.getCVSFolderFor(ResourcesPlugin.getWorkspace().getRoot())); + Session s = new Session(location, CVSWorkspaceRoot.getCVSFolderFor(ResourcesPlugin.getWorkspace().getRoot()), false /* do not output to console */); LogListener listener = new LogListener(); ICVSRemoteResource[] remotes = remoteResources; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RepositoryProviderOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RepositoryProviderOperation.java index a94e55cee..cc2e0bf5a 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RepositoryProviderOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/RepositoryProviderOperation.java @@ -15,6 +15,7 @@ import java.util.*; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.*; import org.eclipse.core.runtime.jobs.ISchedulingRule; +import org.eclipse.jface.action.IAction; import org.eclipse.team.core.RepositoryProvider; import org.eclipse.team.core.TeamException; import org.eclipse.team.internal.ccvs.core.*; @@ -193,4 +194,18 @@ public abstract class RepositoryProviderOperation extends CVSOperation { } } + /* (non-Javadoc) + * @see org.eclipse.team.ui.TeamOperation#isKeepOneProgressServiceEntry() + */ + public boolean isKeepOneProgressServiceEntry() { + // Keep the last repository provider operation in the progress service + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.team.ui.TeamOperation#getGotoAction() + */ + protected IAction getGotoAction() { + return getShowConsoleAction(); + } } |