tree f831370f95304aa02fd16a29efeb20e1d65ad879
parent 1996754b3552fdd92a5ce07a21296fb31806c49f
author Pawel Pogorzelski <ppogorzelsk> 1271755163 +0000
committer Pawel Pogorzelski <ppogorzelsk> 1271755163 +0000

The map file has been updated for the following Bug changes:
+ Bug 284540. [Net] Changing nonProxiedHosts does not update the system properties (FIXED)
+ Bug 304748. set IProgressConstants.SHOW_IN_TASKBAR_ICON_PROPERTY on jobs created by SubscriberParticipant for user initiated synchronizations (FIXED)
+ Bug 305202. [Sync View][Apply Patch] Introduce "Ignore Leading Path Segments" option in sync view (FIXED)
+ Bug 309313. [proxy] setting non proxy host does not reset the system properties (FIXED)
+ Bug 309544. Remove dependency on org.eclipse.update.core (FIXED)
+ Bug 309754. Compile errors in N20100419-2000 (REOPENED)

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