Patch Set 4:

this looks better now, first time that the Synchronize View tests succeed on my end, but I still see this NPE in the error log :

org.eclipse.team.core.TeamException: An internal error occurred processing subscriber events.
	at org.eclipse.team.internal.core.subscribers.SubscriberEventHandler.processEvent(SubscriberEventHandler.java:332)
	at org.eclipse.team.internal.core.BackgroundEventHandler.processEvents(BackgroundEventHandler.java:369)
	at org.eclipse.team.internal.core.BackgroundEventHandler$1.run(BackgroundEventHandler.java:203)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.NullPointerException
	at org.eclipse.egit.core.synchronize.GitSyncInfo.calculateKind(GitSyncInfo.java:47)
	at org.eclipse.team.core.synchronize.SyncInfo.init(SyncInfo.java:401)
	at org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber.getSyncInfo(GitResourceVariantTreeSubscriber.java:117)
	at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.getSyncInfo(ResourceVariantTreeSubscriber.java:59)
	at org.eclipse.team.core.subscribers.Subscriber.getDiff(Subscriber.java:371)
	at org.eclipse.team.internal.core.subscribers.SubscriberDiffTreeEventHandler.handleChange(SubscriberDiffTreeEventHandler.java:162)
	at org.eclipse.team.internal.core.subscribers.SubscriberEventHandler.collect(SubscriberEventHandler.java:219)
	at org.eclipse.team.internal.core.subscribers.SubscriberEventHandler.processEvent(SubscriberEventHandler.java:310)
	... 3 more