On Sat, Nov 19, 2022 at 10:26 AM Gregory Nutt <spudan...@gmail.com> wrote:

> On 11/19/2022 9:02 AM, Tomek CEDRO wrote:
> > On Sat, Nov 19, 2022 at 3:53 PM Thiago Costa de Paiva wrote:
> >>  From these, the valid argument is that it would be non-standard (not a
> top level name) related to Appache rules, which I think is indeed not
> acceptable. It would not imply any source code organization change nor
> submodules:
> >>
> >> git clone <appache url>/nuttx/core nuttx
> >> git clone <appache url>/nuttx/apps apps
> > The use of submodules was also considered before (I also proposed
> > that) and turned out to be a bad idea :-) :-)
>
> At one time, I was moving all major NuttX  components into sub-modules
> in order to better modularize the system.  I had arch/ and
> Documentation/ moved into their own repositories.
>
> But I got endless complaints from users.  Everyone hated this so I ended
> up merging these back into nuttx/.  That was a tough job because of the
> duplicated history in the nuttx/, arch/, and Documentation/
> repositories.  I really wouldn't recommend going through that again.



I strongly recommend AGAINST splitting the NuttX repo into multiple repos.
There are many reasons for this but here is a big one: You'll lose atomic
changesets, which is a very important part of version control. One of the
biggest problems with CVS, which all modern version control systems are
designed to avoid, is that changes that touched multiple files were not
atomic; each file had its own version number, so you needed an out-of-band
way to keep track of which changes made up a given changeset. Compare how a
single git commit hash number re-creates an exact replica of the entire
tree as it looked when that changeset was committed. Splitting up the repo
is a step in the wrong direction.

That said, nuttx and nuttx-apps *should* remain separate for the following
reason: because the apps are, by their nature, separate and optional. It is
important that users will always be able to supply their own apps
repository, while our apps repository can be seen as demonstration,
testing, a baseline against which to build a custom apps, an example of how
to build a custom apps, and even as documentation in the form of source
code of how to write programs that run on NuttX. But whatever happens,
nuttx-apps should remain separate from nuttx.

Cheers
Nathan

Reply via email to