from the attachment, the left hand side is the working copy and is newer, the right hand side is the old revision.
if I right click the file and choose team > update to version,
I found the reason is the old revision will replace the working copy, but not merge (updated).
the contact constructor take two parameters only after update.
and why there is no conflict as the constructor is different in two version?
If you will notice, there are lines drawn around the areas that differ in the side-by-side version comparison pane.
There are also some controls up in the upper right corner of that pane.
One of them will run down the comparisons, highlighting each difference in turn. One will replace the workspace difference with the selected repository difference. Once will do a mass replacement of all non-conflicting differences. Hovering your mouse pointer over each control will display a pop-up tooltip. More detailed help is available from the Eclipse Help facility.
An IDE is no substitute for an Intelligent Developer.