AnsweredAssumed Answered

Multi-core Project SVN Integration

Question asked by DiGi on Sep 16, 2016
Latest reply on Sep 23, 2016 by Kader.M

My team currently has a project for the ADSP-SC589.  In CCES, it's actually three separate projects (Core0, Core1, and Core2).  What's the recommended way to keep this project in version control? (SVN in our case)

 

Ideally we'd like one project for all three cores, or at least one folder in CCES that has the three core projects under it.  We're able to do this for the moment by creating a top-level folder in the workspace with a blank .project file in it, and then including the three core projects inside that folder.  The project explorer view can then be set to "Hierarchical Project Presentation" to group the three core projects under the top level folder.  This also allows us to have batch files (like for generating and flashing a loader file) inside the top level folder where it's clear they apply to all three core projects.  We can also include a .launch file to configure a debug configuration for the project.

 

However, this method doesn't integrate with SVN very well.  The SVN checkout must be done at the top-level folder level, and then the Subclipse SVN plugin doesn't allow the core projects to be renamed during the checkout.  This prevents multiple versions of the same project from being checked out under different names, which is an extremely common use case for us.

 

The best compromise we can think of is to not have the top level folder and check out the three core projects at once by shift-clicking in the repository browser.  Subclipse allows a batch rename in this case, so we can check these three core projects out multiple times under different names.  The downside is that the grouping isn't as nice (no collapsible top level folder, so the workspace fills up three times as quick) and the debug configuration and batch files can't be included in a logical place (we may be able to move the batch files to one of the core project folders and have them still work).  Each developer will have to reconfigure the debug configuration for a new checkout every time.

 

Does this compromise seem like the best way to do this?  How is version control managed at ADI for developing the example projects?

Outcomes