STMicroelectronics / STM32CubeF4

STM32Cube MCU Full Package for the STM32F4 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits))
Other
869 stars 418 forks source link

Ship examples and documentation in separate repositories to reduce checkout size #28

Closed rgilton closed 4 years ago

rgilton commented 4 years ago

A checkout of this git repository takes up about 1.4 GB on disk, and cloning it pulls about 150 MB across the net. Most of this disk and bandwidth is comprised of the example projects, as well as some particularly large documentation files. There are also some files that seem somewhat unecessary like this 2 MB bitmap image, and this 26 MB of audio files that will be very infrequently used.

We would like to use this repository as a git submodule within our firmware projects, but this causes problems:

Our workaround at the moment is to make a repository of our own with the same structure as this one, with all the extra stuff removed. This brings the repository size down significantly (to about 11 MB, which takes less than a second to pull across the network), but comes at the expense of making it harder to upgrade to a later version of STM32CubeF4, as we have to go through that process every time.

Please will you consider splitting this repository up into several repositories -- I imagine at least this set:

andyn-ff commented 4 years ago

I would enthusiastically support this change!

josesimoes commented 4 years ago

I'm with the www.github.com/nanoFramework project and we have this same problem. Like @rgilton we have a clone of this repo with a branch for CD-CI on which we strip the docs/samples/etc to have only the source files.

I'm aware that the repos with HAL drivers only are available, but on some series, we require other drivers too. So this is an issue for us too.

I second this!

ALABSTM commented 4 years ago

Hi @rgilton,

Thank you for tackling this aspect. Actually, the STM32CubeF4 and equivalent ones constitute a first step forward to offer a better alternative to the ZIP packages already provided on the st.com website.

The second step is effectively to provide each component in a separate repository.

The list of all there repositories is maintained here.

We hope to provide solutions as satisfactory as possible to our customers and users. Feedback and remarks as yours are more than welcome as they help us identify areas of enhancement. Thank you once more.

With regards,

rgilton commented 4 years ago

Ok, good to know that there is a plan to separate these things apart. Does this mean that bugs and pull-requests for the CMSIS and HAL components should be registered against those repositories?

Would you accept a pull-request that made the CMSIS and HAL components in this repository use the separate CMSIS and HAL repositories as submodules? Then there would be less ambiguity.

ALABSTM commented 4 years ago

Hi @rgilton,

We are also working on that aspect. We are studying the possibility to use the submodules, among other possibilities, in order to make it easier to manage all these repositories.

Your contribution is more than welcome! It would allow us to have an extra proposal to base our analysis on.

With regards,

ALABSTM commented 4 years ago

Hi @rgilton,

Any update? For you information, it seems git subrepo is far more efficient than git submodule.

With regards,

ALABSTM commented 4 years ago

Hi @rgilton,

We recently published the following firmware libraries:

Next step will be the publication of the BSP and the Projects. We hope this will help you and all the users avoid the inconvenience of downloading large-size full packages.

Please allow me to close this issue now. Thank you again for having tackled this subject.

With regards,