diff --git a/branch-info.txt b/branch-info.txt
index 6abec90..bf95da7 100644
--- a/branch-info.txt
+++ b/branch-info.txt
@@ -1087,3 +1087,8 @@
 
 releases/2.0 @7093 was reverted because it broke HtmlUnit tests that use images
   svn merge --ignore-ancestry -r7093:7092 https://google-web-toolkit.googlecode.com/svn/releases/2.0 .
+
+trunk @7190 was merged into this branch
+  Removed index.html from distro-source because it is obsolete
+  svn merge --ignore-ancestry -c7190 https://google-web-toolkit.googlecode.com/svn/trunk .
+
diff --git a/distro-source/core/src/index.html b/distro-source/core/src/index.html
deleted file mode 100644
index 3cf15b9..0000000
--- a/distro-source/core/src/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-      <meta http-equiv="content-type" content="text/html; charset=utf-8">
-      <title>Google Web Toolkit @GWT_VERSION@</title>
-      
-      <style>
-         body {
-            background-color: white;
-            color: black;
-            font-family: Arial, sans-serif;
-            font-size: small;
-            margin: 20px;
-         }
-
-         li {
-            margin-bottom: 0.5em;
-         }
-
-         li div {
-            margin-top: 0.2em;
-         }
-
-         code {
-            font-size: medium;
-         }
-      </style></head>
-
-   <body>
-      <h1>Google Web Toolkit @GWT_VERSION@</h1>
-      Thanks for using Google Web Toolkit. 
-      We hope you'll have as much fun using it as we have working on it. 
-      <p>
-         See you online!
-      </p>
-      <p>
-         <i>-- The Google Web Toolkit Team</i>
-      </p>
-
-      <h2>Resources</h2>
-      <p>Ajax is hard.  But you're not alone!</p>
-      <ul>
-         <li>
-            <a href="http://code.google.com/webtoolkit/doc/1.6/ReleaseNotes_1_6.html">What's new in GWT 1.6?</a> (online)
-            <div>
-              <a href="release_notes.html">Point releases notes</a> are also included in the distribution.
-            </div>
-         </li>
-         <li>
-            <a href="http://code.google.com/webtoolkit/">Google Web Toolkit Home</a> (online)
-            <div>
-               The big picture.
-            </div>
-         </li>
-         <li>
-            <a href="http://groups.google.com/group/Google-Web-Toolkit">Developer Forum</a> (online)
-            <div>
-               The Developer Forum is the best place to go to discuss GWT, ask or
-               answer questions, report bugs, and sync up with other developers. The
-               Google Web Toolkit team and other Googlers are active participants in
-               the group.
-            </div>
-         </li>
-         <li>
-            <a href="http://googlewebtoolkit.blogspot.com/">Google Web Toolkit Blog</a> (online)
-            <div>
-               Stay up-to-date on the latest goings on.  As new stuff is available, we'll let you know here.
-            </div>
-         </li>
-         <li>
-            <a href="http://code.google.com/webtoolkit/doc/1.6/FAQ.html">Frequently Asked Questions</a> (online)
-            <div>
-               Answers to the initial questions developers have about using GWT, including licensing, upgrades, and so on.
-            </div>
-         </li>
-      </ul>
-      <h2>Starting Points</h2>
-      <ul>
-         <li>
-            <a href="http://code.google.com/webtoolkit/gettingstarted.html">Getting Started Guide</a> (online)
-            <div>
-               A step-by-step tutorial on creating your first app from scratch.
-            </div>
-         </li>
-         <li>
-            <a href="http://code.google.com/webtoolkit/doc/1.6/DevGuide.html">Developer Guide</a> (online)
-            <div>
-               The Developer Guide explains the key concepts in GWT.
-            </div>
-         </li>
-         <li>
-            <a href="http://code.google.com/webtoolkit/doc/1.6/RefWidgetGallery.html">
-               Widget Gallery</a> (online)
-            <div>
-               Browse some of the built-in GWT widgets and panels.
-            </div>
-         </li>
-         <li>
-            <a href="http://code.google.com/webtoolkit/doc/1.6/RefCommandLineTools.html">Command-line 
-               Tools</a> (online)
-            <div>
-               Scripts to help you get started with GWT projects.
-            </div>
-         </li>
-         <li>
-            <a href="doc/javadoc/index.html">API Reference</a>
-            <div>
-               The API documentation in standard Javadoc form.
-            </div>
-         </li>
-      </ul>
-      <h2>Samples</h2>
-      The samples aren't really intended to wow you with mind-blowing flashiness.  
-      Their purpose is to demonstrate the mechanics of different techniques you can use when building applications with GWT.
-      <ul>
-         <li>
-            <a href="samples/Hello/war/Hello.html">Hello World</a>
-            <div>
-               The simplest application you can write with GWT.
-            </div>
-         </li>
-         <li>
-            <a href="samples/Showcase/war/Showcase.html">Showcase</a>
-            <div>
-               Complex UI illustrating Widgets in action.
-            </div>
-         </li>
-         <li>
-            <a href="samples/DynaTable/war/DynaTable.html">Dynamic Table</a>
-            <div>
-               How to take advantage of polymorphic RPC.
-            </div>
-         </li>
-         <li>
-            <a href="samples/Mail/war/Mail.html">Mail</a>
-            <div>
-               Look and feel similar to a traditional desktop application.
-            </div>
-         </li>
-         <li>
-            <a href="samples/JSON/war/JSON.html">JSON</a>
-            <div>
-               Interoperation with a JSON service.
-            </div>
-         </li>
-         <li>
-            <a href="samples/I18N/war/I18N.html">I18N</a>
-            <div>
-               A glimpse at GWT's internationalization facilities.
-            </div>
-         </li>
-      </ul>
-
-   </body></html>
