<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html xmlns:v="urn:schemas-microsoft-com:vml"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
<head>
                                                     
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
                                                     
  <meta name="ProgId" content="Word.Document">
                                                     
  <meta name="Generator" content="Microsoft Word 9">
                                                     
  <meta name="Originator" content="Microsoft Word 9">
                                                     
  <link rel="File-List" href="filelist">
  <title>Eclipse Platform Release Notes - VCM</title>
                                                                        
                    
  <style>
<!--
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
h1
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:1;
	font-size:24.0pt;
	font-family:"Times New Roman";
	mso-font-kerning:18.0pt;
	font-weight:bold;}
h2
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:2;
	font-size:18.0pt;
	font-family:"Times New Roman";
	font-weight:bold;}
h3
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:3;
	font-size:13.5pt;
	font-family:"Times New Roman";
	font-weight:bold;}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
p
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
@list l0
	{mso-list-id:180434102;
	mso-list-type:hybrid;
	mso-list-template-ids:-764372184 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1
	{mso-list-id:1311859295;
	mso-list-type:hybrid;
	mso-list-template-ids:838519152 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l2
	{mso-list-id:1618483892;
	mso-list-type:hybrid;
	mso-list-template-ids:1638689998 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
  </style>
             <!--[if gte mso 9]><xml>
 <u1:DocumentProperties>
  <u1:Author>johnart</u1:Author>
  <u1:LastAuthor>johnart</u1:LastAuthor>
  <u1:Revision>2</u1:Revision>
  <u1:TotalTime>14</u1:TotalTime>
  <u1:Created>2001-05-14T20:34:00Z</u1:Created>
  <u1:LastSaved>2001-05-14T20:58:00Z</u1:LastSaved>
  <u1:Pages>9</u1:Pages>
  <u1:Words>3732</u1:Words>
  <u1:Characters>21276</u1:Characters>
  <u1:Lines>177</u1:Lines>
  <u1:Paragraphs>42</u1:Paragraphs>
  <u1:CharactersWithSpaces>26128</u1:CharactersWithSpaces>
  <u1:Version>9.3821</u1:Version>
 </u1:DocumentProperties>
</xml><![endif]-->
</head>
  <body lang="EN-US" link="blue" vlink="purple" style="">
                            
<div class="Section1">               
<h1 style=""> </h1>
                       
<h1 style=""> </h1>
                   
<h1 style=""> </h1>
             
<h1 style=""> </h1>
         
<h1 style=""> </h1>
       
<h1 style=""> </h1>
     
<h1 style=""> </h1>

<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20021116 Nov 16, 2002 (2.1 M4)</p>
               
<p class="MsoNormal">Build submission for Integration Build 20021116</p>
               
<h2>What's new in this build</h2>

<p>Eclipse now supports CVS Watch/Edit. There is a CVS preference for indicating that projects should 
be checked out as read-only and there are Edit and Unedit actions available in the Team menu. Also,
Eclipse will automatically perform a "cvs edit" on files that are modified in an open editor.

<p>The CVS Repositories view has undergone a few more changes. Modules now appear as folders 
under HEAD with their own icon to differentiate them from regular 
folders. Also, refreshing the tags for a module may not work properly because this feature requires the use of an 
auto-refresh file. If your modules are not appearing in the version or branch categories, perform
a "Configure Branches and Versions" on the module and assign the tags to the module and/or set the 
auto-refresh file.

<p>Several optimizations have also been performed on the CVS plugin. CVS now uses the new light-weight
decorators provided by Platform UI. Also, the determination of a folder's dirty status has been optimized
using caching. The caching scheme uses a combination of persistant and session properties (facilities
provided by Platform Core). Persistant properties have a certain overhead so that the first query of 
the dirty status of a folder will be longer running then subsequent queries.

<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20021112 Nov 12, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20021112</p>
               
<h2>What's new in this build</h2>
 
<p>The CVS Repositories view has undergone some changes. Here is a summary of the changes:</p>
<ul>
<li>Users can now define working sets which will limit the number of projects shown in the view.
<li>Branches only contain projects that are "known" to be in the branch. Similarly, the Versions category
has been changed and now displayes all the "known" projects in a version (as opposed to providing a list of
verions).
<li>The version and branch items will start out empty and must be populated by the user. This can be
done by performing a "Refresh Branches and Versions" from the popup menu of a repository location or
by using "Configure Branches and Tags". The user should define a working set before refreshing the tags
of the repository location since the refresh operation will search each project in the working set (or
each project in the repository if no working set is defined).
<li>Comparing multiple versions of the same project can be done by choosing  "Compare With..." from
popup menu of any folder or file in the view.
<li>There is no longer a "Show Modules" mode. Instead, there is a Modules category under HEAD which can
be expanded to see the modules defined in the CVSROOT/modules file.
</ul>
<p>Further work will be done on this view to fine-tune the tag discovery mechanisms.
</p>

<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20021015 Oct 15, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20021015</p>
               
<h2>What's new in this build</h2>
 
<p>Deleted files can now be queried and restored from the repository using the "Team > Restore from Repository..."
command, which is available on CVS projects and folders.
</p>

<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20021008 Oct 8, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20021008</p>
               
<h2>What's new in this build</h2>
 
<p>Several improvements related to support of CVS modules have been added. 
<ul>
<li>"Checkout Into..."
can be used from the CVS Repositories view to check out a folder into an existing project.</li>
<li>Folders, such as those loaded using "Checkout Into...", can be disconnected from CVS control
from the folder's CVS properties page, allowing the folder to be removed from a local project 
without resulting in outgoing deletions.</li>
<li>A project shared with CVS can now be configured to not fetch absent directories on update
(i.e. previously, "cvs update" was always performed with "-d". Now a project can be configured
to perform updates without "-d").
</ul>
</p>

<p>Also, "Tag with Existing" can now be performed in the resource history view.</p>
<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20020917 Sept 17, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020917</p>
               
<h2>What's new in this build</h2>
 
<p>A "quick sync" button has been added to the CVS action set which will display the list
of all projects shared with CVS and allow the user to choose which projects to sync, either 
directly or by working set.
</p>
<p>Performing a commit in the sync view or the navigator will present the user with a
dialog that shows the user any new resources that are not yet under version control or not yet
ignored. The user can select which resources they would like to add before the commit
is performed.
</p>
<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20020909 Sept 09, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020910</p>
               
<h2>What's new in this build</h2>
 
<p>When using the EXT connection method, the parameter format can be specified
on the EXT Connection Method preference page. The parameter list can include
variables representing the corresponding values from the location. The variables 
are user, password, host and port. The default parameter list is "{host} -l {user}".
</p>
<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
<p class="MsoNormal">CVS build I20020517 May 17 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020517</p>
               
<h2>What's new in this build</h2>
 
<p>Starting with this build, if you "Check Out As..." on a project from the
repository which has no .project file, you will be prompted to specify what
type of project you would like to create. (A typical example is to create
a Java project at this point).<br>
</p>
<p>Also new in this build is the ability to select "Share Project..." on
a project for which remote content already exists. Previously, sharing the
project would automatically try to import your files into the repository;
now, it detects that remote files already exists and opens the sync view
for you to reconcile the differences.<br>
</p>
<p>Numerous other bugs are fixed. As always, you can check in Bugzilla.<br>
 </p>
 
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                
<p class="MsoNormal">CVS build I20020430 April 30 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020430</p>
               
<h2>What's new in this build</h2>
 
<p>Added support for moving CVS tags. Ths fuctionality is available in the 
Repositories view under "Tag with Existing Tag". This allows one to change 
a version lineup.<br>
 </p>
 
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                
<p class="MsoNormal">CVS build I20020423 April 23 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020423</p>
               
<h2>What's new in this build</h2>
       
<p class="MsoNormal">Branching/Merging changes:<br>
   </p>
     
<ul>
     <li>merge allowed on multiple selection of non-overlapping resources,
 merge results show in same merge editor (e.g. you no longer need X editors
 to merge X projects). We should do the same for compare.</li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>merge allowed on all resource types</li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>branching allowed on all resource types</li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>"replace with" allowed on all resource types with multiple selection</li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>warning dialog added when ever a user creates a project with mixed 
 tags. It warns about the implied CVS behavior. Can be turned off.</li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>tags only shown if different than parent tag (reduces tag clutter
 and makes it more obvious when a tag is different)<br>
     </li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>get revision for files allowed from history/replace/compare dialogs, 
 to revert from a sticky revision use "replace with tag" and select the branch 
 you are working on<br>
     </li>
     
</ul>
     
<p class="MsoNormal"></p>
     
<ul>
     <li>CVS text decorations consolidated and as a result the text decorations 
 in the sync view will follow the users preferences (except for the dirty 
flag which is not shown in the sync view.</li>
        
</ul>
               
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                
<p class="MsoNormal">CVS build I20020409 April 9 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020409</p>
               
<h2>What's new in this build</h2>
         
<p class="MsoNormal">GZIP compression support for CVS communication has been 
  introduced in this build. It is turned on by default and can be configured 
  on the CVS preference page.<br>
     </p>
         
<p class="MsoNormal"><br>
     Support for communicating with CVS NT servers has been improved. Note
 that  CVS NT is still not a supported platform. CVS support should now work
 much  better with CVS NT versions 1.11.1.1 and higher, including 1.11.1.3.<br>
     </p>
         
<p class="MsoNormal"><br>
     Support for branch and version tags in the UI has been improved. See 
the   "Configure Tags" dialog, which is available nearly anywhere in the UI
where   tags are needed. (e.g. in the Compare With Tag action, Replace With
Tag action,  and in the Repositories View).<br>
     </p>
         
<p class="MsoNormal"><br>
     Cancellation and progress have been greatly improved. For example, it
 should  be possible to cancel connections to unresponsive servers without
 waiting  for operations to time out.<br>
     </p>
         
<p class="MsoNormal"><br>
     The CVS Console is much more usable. Output from different actions is
 easily  distinguished, and color coding of server responses has been added.<br>
     </p>
           <br>
           
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                
<p class="MsoNormal">CVS build I20020402 April 2 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020402</p>
               
<h2>What's new in this build</h2>
           
<p class="MsoNormal">The CVS plug-ins are now turned on by default. The old
    VCM plug-ins are still included in the build but are turned off by default.<br>
      <br>
      </p>
           
<p class="MsoNormal">Additions, deletions and moved resorces are handled
differently in this build:</p>
           
<p class="MsoNormal"><br>
      </p>
           
<p class="MsoNormal">1) The user will be prompted with a warning on deletion
   of files to<br>
      indicate that the file will be marked as an outgoing deletion. An<br>
      information marker will appear in the task view which indicates this. 
 The<br>
      user can use the Auto Fix item in the task's context menu to restore
 the<br>
      file (from the server or local history) or commit the deletion. The 
user<br>
      can also commit the deletion as before (Commit on ancestor in Team
menu   or<br>
      Sync view) as well.<br>
      <br>
      2) A similar warning will appear for folder deletions. However, the 
folders<br>
      themselves will not be deleted and files in the folders will appear 
as<br>
      outgoing deletions. On commit, any empty folders that contained outgoing<br>
      deletions will be pruned.<br>
      <br>
      3) When files are added to a folder shared with CVS, an information 
marker<br>
      will appear in the task view until the file is either added to CVS
control<br>
      or ignored (Autofix items are available for this).<br>
      <br>
      Options are available in the CVS preferences page to disable both the<br>
      prompting and markers.<br>
      </p>
           
<p class="MsoNormal"><br>
      </p>
           
<p class="MsoNormal"><br>
      The CVS support now takes advantage of the new Core facilities for
private    resources. As such, CVS/ folders will be marked as private and
should not    show up anywhere in the UI. Also, if you copy or move a folder
structure   in the workspace, the CVS/ folders will be removed from the destination.<br>
      </p>
           
<p class="MsoNormal"><br>
      In order for the CVS/ folders to be marked as private, you will need
 to  delete the projects in your workspace and check them out from the repository 
  again. Failure to do so will simply result in CVS/ folders showing up in 
 the UI.<br>
      </p>
           
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                
<p class="MsoNormal">CVS build I20020312 &#8211; March 12, 2002</p>
               
<p class="MsoNormal">Build submission for Integration Build 20020312</p>
               
<h2>What's new in this build</h2>
               
<p class="MsoNormal">The CVS plug-ins are now turned on by default. The old
    VCM plug-ins are still included in the build but are turned off by default.<br>
        More performance improvements for the decorators.</p>
               
<p class="MsoNormal">The actions in the Sync view have been changed. A summary:</p>
               
<p class="MsoNormal"><br>
        Incoming mode:<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Update from Repository 
(operates    ONLY on incoming nodes that are not conflicting)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override and Update (operates
    on conflicts)<br>
        Outgoing mode:<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Commit (operates only
on  outgoing   nodes that are not conflicting)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override and Commit (operates
    on conflicts)<br>
        Both mode:<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Update from Repository 
(operates    ONLY on incoming nodes that are not conflicting)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override and Update (operates
    on conflicts *and* on outgoing <br>
        changes)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Commit (operates only
on  outgoing   nodes that are not conflicting)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override and Commit (operates
    on conflicts *and* on incoming <br>
        changes)</p>
               
<p class="MsoNormal"> </p>
               
<p class="MsoNormal"><br>
        </p>
               
<p class="MsoNormal">A preference was added that allows the user to more
accurately determine how files are compared.</p>
               
<p class="MsoNormal">A new action was added to the merge view which allows
    the user to correctly merge conflicting files automatically (previously
  we  had a bug which prevented this).</p>
               
<p class="MsoNormal"><br>
          Resolved 54 bugs.</p>
               
<p class="MsoNormal"><br>
        <a
 href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;resolution=FIXED&amp;resolution=INVALID&amp;resolution=WONTFIX&amp;resolution=DUPLICATE&amp;resolution=WORKSFORME&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfield=resolution&amp;chfieldfrom=2002-03-06+&amp;chfieldto=2002-03-12&amp;chfieldvalue=&amp;product=Platform&amp;component=VCM&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;namedcmd=Bugs+I%27ve+Logged&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">
             Click here</a> to see the bugs that were fixed.</p>
               
<p class="MsoNormal"><br>
        </p>
               
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                      
<p class="MsoNormal">CVS build I20020305 &#8211; March 5, 2002</p>
                     
<p class="MsoNormal">Build submission for Integration Build 20020305</p>
                     
<h2>What's new in this drop</h2>
                            
<p class="MsoNormal">CVS Decorators have been greatly improved - images are 
     now cached and disposed. </p>
                     
<p class="MsoNormal">  Resolved 74 bugs, fixing 47.</p>
                     
<p class="MsoNormal"><br>
           <a
 href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;resolution=FIXED&amp;resolution=INVALID&amp;resolution=WONTFIX&amp;resolution=DUPLICATE&amp;resolution=WORKSFORME&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfield=resolution&amp;chfieldfrom=2002-02-26+&amp;chfieldto=2002-03-06&amp;chfieldvalue=&amp;product=Platform&amp;component=VCM&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;namedcmd=Bugs+I%27ve+Logged&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">
             Click here</a> to see the bugs that were fixed.</p>
                     
<p class="MsoNormal"><br>
             All Team plug-ins are turned off by default. If you wish to
use   Team   support,</p>
                     
<ol style="margin-top: 0in;" start="1" type="1">
             <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.ui/plugin.xml.off
   to plugins/org.eclipse.team.ui/plugin.xml          </li>
             <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ui/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ui/plugin.xml      </li>
             <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.core/plugin.xml.off
   to      plugins/org.eclipse.team.core/plugin.xml      </li>
             <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.core/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.core/plugin.xml     </li>
             <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ssh/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ssh/plugin.xml     </li>
                     
</ol>
                     
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                          
<p class="MsoNormal">CVS build I20020226 &#8211; February 26, 2002</p>
                         
<p class="MsoNormal">Build submission for Integration Build 20020226</p>
                         
<h2>What's new in this drop</h2>
                         
<p class="MsoNormal">Added :ext: support, similar to the support that was 
      in 1.0. See the CVS-&gt;Ext Connection Method preferences page to configure
      ext support.</p>
                         
<p class="MsoNormal"><br>
             Fixed 25 bugs.</p>
                         
<p class="MsoNormal"><br>
             <a
 href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;resolution=FIXED&amp;resolution=INVALID&amp;resolution=WONTFIX&amp;resolution=DUPLICATE&amp;resolution=WORKSFORME&amp;email1=&amp;emailtype1=substring&amp;email2=&amp;emailtype2=substring&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfield=resolution&amp;chfieldfrom=2002-02-15+&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Platform&amp;version=2.0&amp;component=VCM&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;namedcmd=Fixed+since+last+date&amp;newqueryname=Fixed+since+last+date&amp;order=Reuse+same+sort+as+last+time">
             Click here</a> to see the bugs that were fixed.</p>
                                    
<p class="MsoNormal"><br>
             All Team plug-ins are turned off by default. If you wish to
use   Team   support,</p>
                         
<ol style="margin-top: 0in;" start="1" type="1">
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.ui/plugin.xml.off
   to plugins/org.eclipse.team.ui/plugin.xml          </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ui/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ui/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.core/plugin.xml.off
   to      plugins/org.eclipse.team.core/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.core/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.core/plugin.xml     </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ssh/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ssh/plugin.xml     </li>
                         
</ol>
             <!--[if !supportEmptyParas]-->             
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                            
<p class="MsoNormal">CVS build I20020214 &#8211; February 14, 2002</p>
                            
<p class="MsoNormal">Build submission for Integration Build 20020214</p>
                            
<h2>What's new in this drop</h2>
                            
<p class="MsoNormal">Bug fixes:</p>
                            
<p class="MsoNormal">Outgoing changes show up in Merge editor (9746)</p>
                            
<p class="MsoNormal">Incoming additions from another branch have wrong timestamp
       (9748)</p>
                            
<p class="MsoNormal">Bin folders show up as outgoing additions! (9788)</p>
                            
<p class="MsoNormal">Create<span style="">&nbsp; </span>       branch dialog
   says "Name must not be null" for a project version, even   if  the version
   option is disabled (9691)</p>
                            
<p class="MsoNormal">Should not ignore managed resources (9502)</p>
                            
<p class="MsoNormal">Directory named core ignored!!! (9486)</p>
                            
<p class="MsoNormal">Change in semantics to validateEdit (9802)</p>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">All Team plug-ins are turned off by default. If you wish
to use Team support,</p>
                            
<ol style="margin-top: 0in;" start="1" type="1">
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.ui/plugin.xml.off
   to plugins/org.eclipse.team.ui/plugin.xml          </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ui/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ui/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.core/plugin.xml.off
   to      plugins/org.eclipse.team.core/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.core/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.core/plugin.xml     </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ssh/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ssh/plugin.xml     </li>
                           
</ol>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                            
<p class="MsoNormal">CVS build V2_0_6 &#8211; February 12, 2002</p>
                            
<p class="MsoNormal">Build submission for Integration Build 20020212</p>
                            
<h2>What's new in this drop</h2>
                            
<p class="MsoNormal">48 bugs fixed.</p>
                            
<p class="MsoNormal">Global ignore facility added.</p>
                            
<p class="MsoNormal">Extensive sync view rewrite. Workflow has been improved, 
      and in incoming/outgoing mode the user can override the direction of 
 any    change. Auto-merging of conflicts is now supported as well.</p>
                            
<p class="MsoNormal">User can add files/directories to .cvsignore automatically
       from the sync view or navigator by right clicking and selecting &#8220;Ignore&#8221;.</p>
                            
<p class="MsoNormal">Many bug fixes and improvements.</p>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">All Team plug-ins are turned off by default. If you wish
to use Team support,</p>
                            
<ol style="margin-top: 0in;" start="6" type="1">
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.ui/plugin.xml.off
   to plugins/org.eclipse.team.ui/plugin.xml          </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ui/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ui/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.core/plugin.xml.off
   to      plugins/org.eclipse.team.core/plugin.xml      </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.core/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.core/plugin.xml     </li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ssh/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ssh/plugin.xml     </li>
                           
</ol>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<h1 style="">Eclipse Platform Build     Notes &#8211; CVS Support</h1>
                            
<p class="MsoNormal">CVS build V2_0_2 &#8211; January 15, 2002</p>
                            
<p class="MsoNormal">Build submission for Integration Build 20020115</p>
                            
<h2>What's new in this drop</h2>
                            
<p class="MsoNormal">This is the initial release for the CVS support plug-ins.</p>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">The plug-ins are turned off by default. If you wish to
use CVS support,</p>
                            
<ol style="margin-top: 0in;" start="11" type="1">
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.ui/plugin.xml.off
   to plugins/org.eclipse.team.ui/plugin.xml</li>
               <li class="MsoNormal" style="">       Rename      plugins/org.eclipse.team.cvs.ui/plugin.xml.off
   to      plugins/org.eclipse.team.cvs.ui/plugin.xml</li>
                           
</ol>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">Please report any problems to the VCM team, and use the
VCM component for bug tracking.</p>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">The following features are operating near their 1.0 level
of functionality:</p>
                            
<ul style="margin-top: 0in;" type="disc">
               <li class="MsoNormal" style="">       The      Synchronize 
view</li>
               <li class="MsoNormal" style="">       The      Resource History
   view</li>
               <li class="MsoNormal" style="">       The      Repositories
 view</li>
                           
</ul>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">The following features differ from the 1.0 functionality:</p>
                            
<ul style="margin-top: 0in;" type="disc">
               <li class="MsoNormal" style="">       Decorators.      To
see   version  history in the Navigator, use Window-&gt;Decorators-&gt;CVS</li>
               <li class="MsoNormal" style="">       CVS      metadata. The 
 metadata  now resides in CVS/ folders in every  shared   folder.      These 
 folders  are hidden by default in the Navigator.  If you   copy entire  
   directories  from within the Navigator, you MUST  remove the  CVS/   
  directories from  the target after copying, otherwise  CVS operations 
 will      behave unexpectedly.</li>
                           
</ul>
                            
<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]-->&lt;&gt;</p>
                            
<p class="MsoNormal">Run <a
 href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;resolution=FIXED&amp;priority=P1&amp;priority=P2&amp;priority=P3&amp;priority=P4&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugi%20">
             this</a> query to determine which bugs have been fixed since 
January     7<sup>    th</sup>. If you wish to narrow the search, edit the 
query and    change the  dates.</p>
                            
<h1 style=""><!--[if !supportEmptyParas]-->       &nbsp;<!--[endif]-->&lt;&gt;</h1>
               </div>
                            
</body>
</html>
