Applying patches on binary files
Hi i have an issue with RTC, my software elements had been extracted from a host emulator by FTP, so all my software elements don't have extension like name.txt is just "name". RTC interpret them as binary files.
I have one project, this project has 2 Streams (Developer, Testing), each Stream has one Component, each Component has a collection of software elements.
The fact is that i can work in the Developer Stream well and do tasks as work in parallel, deliver and accept changes, also create patches from a change set, but when i've tried to apply that patch in another Stream (Testing), it says "can't apply a patch in a binary file".
Steps were as followed:
- Developer1 made changes to a software element (myname) in his workspace, it created a change set and was delivered to the repository. After that, Developer1 search for that changeset and created a patch and attached to a workitem that will be related to Tester1.
- Tester1 load his workspace, downloaded the patch that was attached to the workitem. Then tried to apply the patch by changing the destination. When it detected that the same file was in the other destination it asked if he wanted to replaced it, and he accept it, after that appear the name of the software element and next to it said between backets (can't apply a patch in a binary file).
This Steps i did it before and worked perfectly (merging and applying patches) in one Eclipse repository i had, so i guess i could have enabled some option related to binary files being treated as text files always at that time, but now i don't know how to do it again.
I would really appreciate your help with this concern.
Thanks,
Daniel
I have one project, this project has 2 Streams (Developer, Testing), each Stream has one Component, each Component has a collection of software elements.
The fact is that i can work in the Developer Stream well and do tasks as work in parallel, deliver and accept changes, also create patches from a change set, but when i've tried to apply that patch in another Stream (Testing), it says "can't apply a patch in a binary file".
Steps were as followed:
- Developer1 made changes to a software element (myname) in his workspace, it created a change set and was delivered to the repository. After that, Developer1 search for that changeset and created a patch and attached to a workitem that will be related to Tester1.
- Tester1 load his workspace, downloaded the patch that was attached to the workitem. Then tried to apply the patch by changing the destination. When it detected that the same file was in the other destination it asked if he wanted to replaced it, and he accept it, after that appear the name of the software element and next to it said between backets (can't apply a patch in a binary file).
This Steps i did it before and worked perfectly (merging and applying patches) in one Eclipse repository i had, so i guess i could have enabled some option related to binary files being treated as text files always at that time, but now i don't know how to do it again.
I would really appreciate your help with this concern.
Thanks,
Daniel
One answer
Because the file names have no file extension SCM may be defaulting to a application/unknown mime type. You can change this using the "Jazz Source Control" properties of the file in the RTC Eclipse client or using the "lscm property set jazz.mime <filename>" command in the CLI.
Also, when changing the mime type the line delimiter should be set as well. Most often the line delimiter is set to "Platform" to allow it to be loaded into different operating systems. This can be set using the "Jazz Source Control" properties of the file in the RTC Eclipse client or using the "lscm property set jazz.line-delimiter platform <filename>" in the CLI.
After changing these properties you can deliver them to your streams and others should be able to accept the change into their repository workspaces. At this point you should be able to create and accept patches for this file.
Also, when changing the mime type the line delimiter should be set as well. Most often the line delimiter is set to "Platform" to allow it to be loaded into different operating systems. This can be set using the "Jazz Source Control" properties of the file in the RTC Eclipse client or using the "lscm property set jazz.line-delimiter platform <filename>" in the CLI.
After changing these properties you can deliver them to your streams and others should be able to accept the change into their repository workspaces. At this point you should be able to create and accept patches for this file.