Index: ui/src/org/tigris/subversion/subclipse/ui/conflicts/ConflictsCompareInput.java
===================================================================
--- ui/src/org/tigris/subversion/subclipse/ui/conflicts/ConflictsCompareInput.java	(revision 2067)
+++ ui/src/org/tigris/subversion/subclipse/ui/conflicts/ConflictsCompareInput.java	(working copy)
@@ -16,7 +16,9 @@
 import org.eclipse.compare.CompareConfiguration;
 import org.eclipse.compare.CompareEditorInput;
 import org.eclipse.compare.ITypedElement;
+import org.eclipse.compare.structuremergeviewer.DiffNode;
 import org.eclipse.compare.structuremergeviewer.Differencer;
+import org.eclipse.compare.structuremergeviewer.IDiffContainer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
@@ -38,6 +40,22 @@
  * </p>
  */
 public class ConflictsCompareInput extends CompareEditorInput {
+    
+    /**
+     * This class is only here so we can make the fireChange method public.
+     * We want to invoke this when we do a save so that the synchronization
+     * markers get updated. 
+     */
+    public static class MyDiffNode extends DiffNode {
+        public MyDiffNode(IDiffContainer parent, int kind, ITypedElement ancestor, ITypedElement left, ITypedElement right) {
+            super(parent, kind, ancestor, left, right);
+        }
+         
+        public void fireChange() {
+            super.fireChange();
+        }
+    }
+    
     private Object fRoot;
 
     private BufferedResourceNode fAncestor;
@@ -98,8 +116,8 @@
         cc.setRightLabel(rightLabel);
 
         cc.setAncestorLabel(ancestorLabel);
-    }
-
+    }    
+    
     /*
      * (non-Javadoc)
      * 
@@ -159,7 +177,14 @@
             String title = "Conflicts on " + fDestinationResource.getName();
             setTitle(title);
 
-            Differencer d = new Differencer();
+            // Override the default difference visit method to use MyDiffNode 
+            // instead of just DiffNode
+            Differencer d = new Differencer()
+            {
+                protected Object visit(Object data, int result, Object ancestor, Object left, Object right) {
+                    return new MyDiffNode((IDiffContainer) data, result, (ITypedElement)ancestor, (ITypedElement)left, (ITypedElement)right);
+                }
+            };
 
             fRoot = d.findDifferences(true, pm, null, fAncestor, fLeft, fRight);
             return fRoot;
@@ -181,6 +206,7 @@
         super.saveChanges(pm);
         fLeft.commit(pm);
         neverSaved = false;
+        ((MyDiffNode)fRoot).fireChange();
     }
 
     public boolean isSaveNeeded() {





















