Community
Participate
Working Groups
Build F1 Whenever I change a project's Java build path and try to synchronize with CVS, the Synchronize view insists that the entire .classpath file has changed. For some reason, it appears unable to find the individual differences in these files. I'll attach two .classpath files which demonstrate this problem.
Created attachment 1061 [details] .classpath file 1
Created attachment 1062 [details] .classpath file 2
Presumably what is happening is that the .classpath is being rewritten with identical contents. Since the timestamp on the file has changed, we believe its changed. There is an option to do source level compare, which is slower, but will eliminate "false" changes ("Compare File Contents" from view dropdown). For the .vcm_meta, we used to ensure we weren't rewritting identical content (its an easy hack, you just write to a buffer first and compare it to the file before writing). JDT could consider doing the same. I thought JDT was doing this already. I am assuming this is what is going on (we haven't seen other reports of false changes). If reporter checks to see if the timestamp on the file hasn't changed, then report it back to us. For now, moving to JDT for comment and investigation of .classpath generation.
Reporter has now explained to me that each line was shown as changed, which indicates EOL differences. I've recommended that they convert their .classpath to text using the keyword substitution wizard. Has JDT changed the EOL that they generate? I seem to recall some discussion around this. I assume this is in conjunction with 17564. If this matches what's happened, this bug can presumably be closed, but JDT- core should notify the dev mail list of the fact that people's .classpaths will need to be converted.
.classpath EOLs are now platform dependent, and the file itself should be converted to text format. This was in our build notes from F1 build: ================================ Eclipse Platform Build Notes Java Development Tooling Core Eclipse SDK Build 20020521 - 21st May 2002 Project org.eclipse.jdt.core v_249 - MILESTONE 6 (& F1) What's new in this drop '.classpath' file is now written using platform line delimiters (used to be only using LFs). It is recommanded to convert it to 'text' format so as to avoid surfacing delimiter differences in between incompatible platforms. ================================ Agreed that we should broadcast this louder. Now, one more thing is that since last integration build, JDT/Core suggests that the .classpath file be tagged as source (through recommandation in plugin.xml), and the .classpath file should probably then get a marker if it does not match the recommanded mode. I have entered a defect for this one for all resources.
Nothing to verify.
Closed.
*** Bug 19072 has been marked as a duplicate of this bug. ***