If you use a team project, in github for instance, and the team members have different OS (Windows, Linux, Mac), every commit (or push, in git) submited, when downloaded erases all work done previously by the user that is downloading, if in other OS.
When the file project_save.tmx is uploaded (you can't choose the EOL type and this is the main cause of the problem) and compared to the trunk, if the EOL is different, as LF to CR LF, the file is 'new' and replace the 'older'. There's no merge, and all translations are lost.
I believe this is an improvment that will help any team with different backgrounds. It's not a bug, just a new feature.
EOL handling has changed in 4.0. If it's still an issue in 4.0 then you can open a new ticket.
In the meantime, the solution is to correctly set EOL handling in your VCS. For svn that means setting the property
svn:eol-styletonative; for git seetext=auto.This should not be the case. A naive diff may show the entire file being replaced, but no translations should be lost. If you can reproduce this effect please provide specific instructions, or provide a git repo with a commit that fits your description.
The project in question is LibreOffice and the image attached shows just one commit with almost everything deleted and inserted. I agree that any diff could show this and prevented any deletion, but using just the OmegaT interface, this is not the case. I added another image with a tipical commit, but the next commit, the same person, instead of everything deleted and inserted, a number very low.
Last edit: Teseu 2016-07-02
I ran
git diff --ignore-space-at-eol d2daf -- pt-BR/LOGuides/omegat/project_save.tmxon your repo and obtained the attached diff. There is no data loss. Fix your EOL settings and the issue will go away.