tree 58375f1f41dff669710bf6efaa7c883b3f04b1aa
parent d9e9a396aad7848f809c1db2a4610a5e7665f58f
author Michael Valenta <mvalenta> 1189452954 +0000
committer Michael Valenta <mvalenta> 1189452954 +0000

The map file has been updated for the following Bug changes:
+ Bug 70893. [Decorators] Don't show repository if same as project name (FIXED)
+ Bug 133667. [Model Sync] Add help to Sync Preferences (FIXED)
+ Bug 152581. [Sync View] Performance problem when synchronizing a project (ASSIGNED)
+ Bug 190023. TVT33:TCT318: Apostrophe missing in Compare with Local history (FIXED)
+ Bug 191364. [Proxy Preferences] Edit, Delete buttons enabled improperly (FIXED)
+ Bug 193324. [Sync View] Provide compare editor input for a single file that support editing on both sides (ASSIGNED)
+ Bug 196231. [History View] Menu entries for viewers unchecked while viewers are visible (FIXED)
+ Bug 196847. [Patch] Eclipse patcher does not require deletions or context lines to be contiguous (FIXED)
+ Bug 198319. handler conflict occurred between two team actions (FIXED)
+ Bug 199108. [Project Sets] Project set import dialog should pick best match (NEW)
+ Bug 199224. Compare With > Latest from HEAD takes ages to cancel with broken network connection (FIXED)
+ Bug 199242. [History View] NPE while fetching CVS revision history (FIXED)
+ Bug 200414. Team > Apply Patch... context menu item does not show keybinding (FIXED)
+ Bug 201547. NPE after closing duplicated compare editor (FIXED)
+ Bug 202788. [Tests] Failure in nightly build due to URL protocol (NEW)

The following projects have changed:
org.eclipse.ui.net
org.eclipse.team.ui
org.eclipse.team.tests.cvs.core
org.eclipse.compare
org.eclipse.team.cvs.ui
org.eclipse.compare.tests
org.eclipse.team.cvs.core
