Modus Toolbox 2.4: Project creator->.git directory is not created (works in Modus Toolbox 2.3)

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

cross mob
John_K
Level 4
Level 4
25 replies posted 10 questions asked First like received

We have been trying to debug an issue where project creator is not generating the application .git directory when a new application is created.  This is breaking our build process with our custom applications.

 We have isolated the issue to modus 2.4 and can readily reproduce even with stock Infineon BSPs and  Infineon sample apps. 2.3 always works, 2.4 never works.

To reproduce:

In Modus_2.4 open project creator (1.4) , select BSP  CY8CPROTO-063-BLE and create a new 'Hello World' application. The project successfully completes, and the log sure looks like git is happy, but no .git folder is created in the project directory. (see 2.4_no_gitFolder.gif)

Summary: 

BSP: CY8CPROTO-063-BLE
Template Application(s): Hello World
Application(s) Root Path: D:/Data/ModusEclipse/mtw

Press "Create" to create the selected application(s).
Collecting application data...


Info: The following entered on the command line will create the exact same project as that created with the GUI tool:
C:/Infineon/Tools/ModusToolbox/tools_2.4/project-creator/project-creator-cli.exe --board-id CY8CPROTO-063-BLE --board-uri https://github.com/cypresssemiconductorco/TARGET_CY8CPROTO-063-BLE --board-commit latest-v3.X --app-id mtb-example-psoc6-hello-world --app-uri https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world --app-commit latest-v3.X --cypress-tools C:/Infineon/Tools/ModusToolbox/tools_2.4 --target-dir D:/Data/ModusEclipse/mtw --user-app-name Hello_World --output-for-machine --use-modus-shell


==============================================================================
= Cloning 'mtb-example-psoc6-hello-world' =
==============================================================================
Cloning https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world into D:/Data/ModusEclipse/mtw directory...
env git clone --progress --origin cypress https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world Hello_World
Cloning into 'Hello_World'...
remote: Enumerating objects: 56, done.        
remote: Total 56 (delta 0), reused 0 (delta 0), pack-reused 56        
Receiving objects: 100% (56/56), 204.53 KiB | 10.76 MiB/s, done.
Resolving deltas: 100% (21/21), done.

Checking out latest-v3.X...
env git checkout --progress latest-v3.X
Note: switching to 'latest-v3.X'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at a1d784d Upload mtb-example-psoc6-hello-world 3.0.0.905

==============================================================================
= Creating "TARGET_CY8CPROTO-063-BLE.mtb" file(s) =
==============================================================================

 

Perform the same operation in Modus 2.3 (Project Creator 1.3). looks similar but a (populated) .git folder is created in the project directory. This works. (see 2.3_gitFolder.gif)

Summary: 

BSP: CY8CPROTO-063-BLE
Template Application(s): Hello World
Application(s) Root Path: D:/Data/ModusEclipse/mtw

Press "Create" to create the selected application(s).

Collecting application data...


Info: The following entered on the command line will create the exact same project as that created with the GUI tool:
C:/Infineon/Tools/ModusToolbox/tools_2.3/project-creator/project-creator-cli.exe --board-id CY8CPROTO-063-BLE --board-uri https://github.com/cypresssemiconductorco/TARGET_CY8CPROTO-063-BLE --board-commit latest-v2.X --app-id mtb-example-psoc6-hello-world --app-uri https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world --app-commit latest-v2.X --cypress-tools C:/Infineon/Tools/ModusToolbox/tools_2.3 --target-dir D:/Data/ModusEclipse/mtw --user-app-name Hello_World_1 --output-for-machine --use-modus-shell


==============================================================================
= Cloning 'mtb-example-psoc6-hello-world' =
==============================================================================
Cloning https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world into D:/Data/ModusEclipse/mtw directory...
env git clone --progress --origin cypress https://github.com/cypresssemiconductorco/mtb-example-psoc6-hello-world Hello_World_1
Cloning into 'Hello_World_1'...
remote: Enumerating objects: 56, done.        
remote: Total 56 (delta 0), reused 0 (delta 0), pack-reused 56        

Checking out latest-v2.X...
env git checkout --progress latest-v2.X
Note: checking out 'latest-v2.X'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 2d0432b Upload mtb-example-psoc6-hello-world 2.2.0.857

==============================================================================
= Creating "TARGET_CY8CPROTO-063-BLE.mtb" file(s) =
==============================================================================

 

 

 

0 Likes
1 Solution
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @John_K

I agree that this is a valid use case. I have notified the development team regarding this and they will be evaluating your request and making necessary changes to support the use case. 

Thank you very much for pointing this out! 

Thanks and Regards,
Rakshith M B

View solution in original post

0 Likes
7 Replies
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @John_K

Could you please provide further details on the issue that you are facing? This will help us in understanding the requirement better. I am still able to build the project successfully in ModusToolbox 2.4. 

Thanks and Regards,
Rakshith M B
0 Likes

Rathsith,

 

The project builds, but the ".git"  git  repo directory (with all version control info) is not created and copied into the project for modus 2.4.  From the GIT log, it looks like it sees the .git info (due to the high number of files) and appears to download it according to the log, but the .git folder is never created.  This prevents doing any git version control operations on the project.  (commits, branches changes).

Compare this with modus 2.3 and the .git folder is created, and version control is possible.

0 Likes
John_K
Level 4
Level 4
25 replies posted 10 questions asked First like received

As an additional proof, go into the project directory and run git status command for each project (the one from 2.4, and the one from 2.3) see attached.

 

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @John_K

I understand that the .git folder is not created. I wanted to know about the issue with the build process. 

The .git directory ties the project to the code example GitHub repository. The reason for the change in ModusToolbox 2.4 is to decouple the user's application from the code example repository. This way the user owns the application.

Thanks and Regards,
Rakshith M B
0 Likes

@Rakshith,

The problem here is for our own custom applications which come from our private repos.  We have our own manifest files and build application repos right from Project Creator. This all worked fine in modus 2.3.  Since the .git folder is no longer populated (it was in modus 2.3) we cannot do this any longer, and it has broken our build system.

This would also be a problem for our custom BSPs, and our custom libraries which are also stored in private repo and used with Project Creator and the IDE. Having the integration with git was a primary reason for incorporating this into our build process.

 If this was a explicit design change by Infineon to remove the .git folder recreation for 2.4, I do not see it documented in the release notes.  

 

0 Likes
John_K
Level 4
Level 4
25 replies posted 10 questions asked First like received

@Rakshith,

Any response to this?  We would like this functionality restored to project creator, at the very least for projects that are private repo hosted, or this should be a configurable item whether or not to restore the .git files.  Even for the  Infineon hosted applications, it is useful to see the historyy of the changes when apps are updated.

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @John_K

I agree that this is a valid use case. I have notified the development team regarding this and they will be evaluating your request and making necessary changes to support the use case. 

Thank you very much for pointing this out! 

Thanks and Regards,
Rakshith M B
0 Likes