cancel
Showing results for 
Search instead for 
Did you mean: 

How to work in a team with CubeIDE ?

ADesp.1
Associate II

Hello,

I'm joining a STM32 developpement project. We'll be 2 person working on the same system, implementing features on the same project.

I would like to know what is the workflow to collaborate on STM32CubeIDE. There is not a lot of documentation about it...

I'm considering using Git version control (I'm new to this tool).

Both of us could be working on a branch. I tested the tool and it seems there is a lot a merging conflicts because of the generated files every time you change something.

Solving these by hand seems really tidious (for exemple the .ioc file).

What tool is the best to use ? What about eGit in CubeIDE directly ?

What is the workflow to work on the same project without corrupting the other work ?

How do you work on Git as a team (what branch for who, when do you merge...)

Thanks for your help,

Adrien

1 ACCEPTED SOLUTION

Accepted Solutions
Semer CHERNI
ST Employee

Hello @ADesp.1​ 

First let me thank you for posting and welcome you to the community.

I just want to add to @KnarfB​'s reply that you should give a look to this thread discussing similar question.

Kind regards,

Semer.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
KnarfB
Principal III

git is surely a good choice and often used with a feature-branch workflow like https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow

The .ioc file is special, but won't change that often except in the beginning. In my experience, one may sort (reorder) the key-value pairs without causing harm. Sorting may help spotting the diffs.

Make sure that everybody uses the same tool and firmaware versions, otherwise it may be a back&forth with merging. You don't have to always commit all files, so you may focus on commiting the feature changes.

Depending on how big the project is, you may setup a nightly build server which does a clean STM32CubeIDE headless build from a fresh checkout of the git repo. Might even be combined with automated deployment and testing 🙂

hth

KnarfB

Semer CHERNI
ST Employee

Hello @ADesp.1​ 

First let me thank you for posting and welcome you to the community.

I just want to add to @KnarfB​'s reply that you should give a look to this thread discussing similar question.

Kind regards,

Semer.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

ADesp.1
Associate II

Hello,

Thanks for your answers.

I'll try to use Git and get familiar with the workflow.

Pavel A.
Evangelist III

> there is a lot a merging conflicts because of the generated files every time you change something.

Solving these by hand seems really tidious (for exemple the .ioc file).

TL;DR the Cube .ioc files are not friendly to merging, in context of shared development (users already complained in this forum and ideazone, but there's no traction). So it's better to decide who of you will make change in the .ioc file and commit them.