I have found a problem related to line separators in .mymetadata files. It seems that when a closed EAR or WAR project is opened, a few entries in the file are rewritten.
In the case of my specific EAR project, the “begin” tag for <enterprise-project> and all “begin” tags for <project-module> are updated. The content of the tags is not changed, but on Windows platform the updated lines in the file are changed to use Unix style (LF) line separators, resulting in a file containing mixed line separators.
This, in turn, results in CVS flagging the file modified (since the version in the repository contains platform native (CRLF) line separators. Since committing the changes to the CVS repository converts all line separators to platform native ones, the next time the project is opened it is again marked changed.
I found the line separator problem only by inspecting the changed file using a binary file viewer. The correct behavior of course would be for MyEclipse to check the line separators used in the existing file, and using the same line endings when it updates those lines.
I believe that the problem lies within MyEclipse, but I am not sure. Could someone confirm my analysis, and possibly suggest solutions or workarounds?
My environment is Eclipse SDK 3.1.2 (build id M20060118-1600), MyEclipse 4.1.1 (build id 20060309-4.1.1-GA), running on Windows XP Pro SP2, and the CVS server is running on Windows 2000 Server with all service packs and critical updates applied.
Thanks for any help you can offer,
Marko Teittinen