Bug 138902 CVS synchronize operation marks file as 'edited'
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java
index a48154f..b6bbf58 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java
@@ -423,4 +423,21 @@
 		}
 		return tree;
 	}
+	
+	protected void performReplace(IDiff diff, IProgressMonitor monitor) throws CoreException {
+		IResource resource = ResourceDiffTree.getResourceFor(diff);
+		if (resource.getType() == IResource.FILE){
+			IFile file = (IFile) resource;
+			ICVSFile mFile = CVSWorkspaceRoot.getCVSFileFor(file);
+			try {
+	            // The file may have been set as read-only by a previous checkout/update
+	            if (mFile.isReadOnly()) mFile.setReadOnly(false);
+	        } catch (CVSException e) {
+	            // Just log and keep going
+	            CVSProviderPlugin.log(e);
+	        }
+		}
+		super.performReplace(diff, monitor);
+
+	}
 }
\ No newline at end of file