blob: 3a614cc772da4d2da58c31a5bfc3c8891b1d42d0 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Build">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<title>Eclipse Platform Core RFC 0007 - Local History Improvements</title>
</head>
<body>
<h1>
Local History Improvements</h1>
<i><font size=-1>Last revised 13:30 Monday February 11, 2002</font></i>
<p>This note summarizes proposed additions and changes to Eclipse Platform Core
and UI to improve the local history facility, which exists to help the user
recover from unwanted changes to, or deletion of, files in their workspace.
<h3>Ensure local history is captured</h3>
<p>In Eclipse 1.0, many operations that the user performs do not capture the
previous state of the file in the local history as the user might reasonably
expect. This stems from inconsistent use of Core APIs on the part of the
Workbench and other plug-ins. Part of the fault can be blamed on the lack of an
IResource.delete method that captures local history (the delete methods that
keep local history are only to be found on the interfaces for the specific
resource types; e.g., IFile).</p>
<p>The proposal is two-fold:</p>
<ul>
<li>Add methods to IResource and IWorkspace to allow clients to easily keep local history
for deleted files.</li>
<li>Establish guidelines about how to use the local history mechanism.</li>
</ul>
<h3>Recovering deleted files</h3>
<p>Once a file has been deleted, the file no longer manifests itself in the
workbench UI. Even if there are states of the file preserved in the local
history, there is no obvious way for the user to browse them and perhaps
retrieve one.</p>
<p>The proposal is two-fold:</p>
<ul>
<li>Add Core API so that clients can conveniently discover which files have
entries in the local history.</li>
<li>Add Workbench UI so that users can readily discover and recover recently
deleted files.</li>
</ul>
</body>
</html>