Weird behavior when adding text files to binary resources


#1

Hello, I observed strange behavior with the Introjucer that I'd like to report.


For an existing project, I wanted to add text files to the binary resources. However, whenever I did that, the line endings were changed in some of the files when I clicked "save all" in the Introjucer. I'm working in a windows environment, but I'm using Mac/Unix style line endings(\n instead of \r\n), because it's required by our specification.

A bit more detail:
I have a folder with 60 .txt files. It is located in a directory that is under version control(svn) but not part of the repository.
If I add them as resources all at once, a handful of these gets their line-endings changed.
If I add them one at a time, I didn't notice any changes, However, I did not attempt to add all of them one at time.
If I add a few of the files in one go, some files get changed. The weird thing here is: The files that get changed are the ones that I didn't add to the Introjucer project.

Two fixes that I found to make it work for me are the following:
A

I copy the folder containing the resources to a directory that is not under version control, e.g. my desktop. This fixes the issue in my case but is not really practical, as I need to have the resources under version control as well.

B

1 I put the folder under version control.
2 I add the files to the binary resources, accepting that their contents get changed. I don't save at this point.
3 Using version control I revert the changed files to their original state.
4 I save the Introjucer project and the visual studio project.

It looks like a potential bug to me and although I found a work-around for the moment it would be nice if it gets fixed in a future version.

Best,
Michael


#2

Are you sure the introjucer is changing the line endings and not your version control system? Just adding a binary resource file won't actually re-save the file AFAIK.


#3

I don't know what actually causes this behavior. The subversion on its own doesn't do it, the Introjucer on its own doesn't do it, but put the two together and it happens.