TopDesign file not compatible with subversioning systems

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JuVo_286221
Level 2
Level 2

Dear community, 

   

when developing with PSoC Creator and a team of Embedded Systems Engineers,  we are using subversion systems like Git to keep track of changes to the software. This is a much better and more modern approach then sending zipped projects from person A to person B, which unfortunately is still very common among engineers all over the world.

   

Using git, svn or mercurial works great with the most part of our projects, as it's perfect for tracking changes to code files. However, the TopDesign.cysch file constantly gives us headaches. As it is saved in a binary format unknown to subversion systems, changes cannot be tracked, which leads to frequent confusion among the engineer about who did what change last. We had a couple of bugs because the TopDesign cannot be merged from a feature branch, and the engineer just blindly replace it his/her version, without taking into consideration that others also had made changes to the file. We need to log all changes made to this file separately, and inform all engineers about changes.

   

A solution to this problem would be to change the file format of the TopDesign.cysch file in a future PSoC Creator release. Instead of using a proprietary binary file format, you could choose to write a custom XML format, which would be totally suitable to store all necessary configuration information. 

   

I'd love to hear the thoughts about this within the Cypress Developer Community and also from Cypress themselves. 

0 Likes
5 Replies
Anonymous
Not applicable

Good idea. I would also request a readable design for SVN.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Last year when I visited Cypress in Portland/Oregon there was the promise to focus on versioning systems. I think the immense amount of work coming with the Spansion merge has delayed the forthcoming.

   

 

   

Bob

0 Likes
JEv_295166
Level 3
Level 3
First like received

Yes. Storing as XML rather than binary would be immensely useful. The thread here http://www.cypress.com/forum/psoc-designer-software/how-can-i-read-cysch-file implies the topdesign file uses .NET serialization. If this is the case then having an alternative XML serializer would be an easy addition. 

0 Likes
HuEl_264296
Level 5
Level 5
First like given 25 sign-ins First solution authored

I second that. Actually, TopDesign is not the only file that's causing problems. The project directory is filled with all sorts of files which may or may not be important parts of the project which should be versioned: .cyfit .cycdx .rpt .svd etc.

   

It would be very helpful if the generated files could be put into a folder called GeneratedFiles or something, so that it was clear that the other files were ones that really define the project.

   

Hugo

0 Likes
JoBr_1593366
Level 5
Level 5
100 sign-ins 50 questions asked 100 replies posted

The latest version saves "description files" that are plain text, that allow you to see changes to the file in git, but the cysch is still binary, so it's impossible to merge changes from multiple branches, so the typical git development model is still broken when using PSoC Creator.  Please get rid of the binary files.

0 Likes