Bug 94438 [Undo] - javadoc - clarify operation remaining in history for undo/redo with INFO/WARNING
The javadoc for the IOperationHistory#undo(...) redo(...) methods is very explicit about the operation remaining in the history on CANCEL and ERROR status, and that it is moved between undo/redo histories when ok. Some minor clarifications: The lack of an explicit statement about INFO and WARNING makes one wonder what happens to the operation. It remains in the history in this case also... Technically, on OK status the operation is not guaranteed to move between the stacks. If it cannot redo after undoing, or cannot undo after redoing, it won't be transferred to the other stack, but in effect will be removed from the history.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java
* <p>
	 * Other severity codes (<code>CANCEL</code, <code>ERROR</code>, <code>INFO</code>,
	 * etc.) are not specifically interpreted by the history.  The operation will remain
	 * in the history and the returned status is simply passed back to the
	 * caller. For all severities other than <code>OK</code>, listeners
	 * will receive the <code>OPERATION_NOT_OK</code> notification
	 * instead of the <code>UNDONE</code> notification.
	 * </p>
	 * 
	 * @throws ExecutionException
	 *             if an exception occurred during undo.
	 */
	IStatus undo(IUndoContext context, IProgressMonitor monitor, IAdaptable info)
			throws ExecutionException;
	/**
	 * <p>
	 * Undo the specified operation
	 * </p>
	 * 
	 * @param operation 
	 *            the operation to be undone
	 * @param monitor 
	 *            the progress monitor to be used for the undo, or
	 *            <code>null</code> if no progress monitor is provided
	 * @param info 
	 *            the IAdaptable (or <code>null</code>) provided by the
	 *            caller in order to supply UI information for prompting the
	 *            user if necessary. When this parameter is not
	 *            <code>null</code>, it should minimally contain an adapter
	 *            for the org.eclipse.swt.widgets.Shell.class.