[Git] Modularizing Boost libraries with sublibs

While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs. The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them? Move each one to a dedicated Git repository, or leave them grouped together? What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not. Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not. Opinions? Cheers, Daniel

On Sun, Dec 9, 2012 at 4:11 AM, Daniel Pfeifer <daniel@pfeifer-mail.de> wrote:
While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs.
The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them?
Move each one to a dedicated Git repository, or leave them grouped together?
What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not.
Size is at least one objective difference between "numeric" and "algorithm". "boost/numeric" is 210 Files, 30 Folders, and 3,094,931 bytes. "boost/algorithm" is 70 Files, 6 Folders, and 487,109 bytes.
Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not.
Opinions?
Unless someone comes up with a killer argument to do otherwise, I'd say numeric stays separate submodules and algorithms stays as a single sub-module. I agree with you that the numeric sub-libraries should be in libs/numeric. --Beman

On Dec 9, 2012, at 8:50 AM, Beman Dawes <bdawes@acm.org> wrote:
On Sun, Dec 9, 2012 at 4:11 AM, Daniel Pfeifer <daniel@pfeifer-mail.de> wrote:
While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs.
The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them?
Move each one to a dedicated Git repository, or leave them grouped together?
What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not.
Size is at least one objective difference between "numeric" and "algorithm".
"boost/numeric" is 210 Files, 30 Folders, and 3,094,931 bytes. "boost/algorithm" is 70 Files, 6 Folders, and 487,109 bytes.
Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not.
Opinions?
Unless someone comes up with a killer argument to do otherwise, I'd say numeric stays separate submodules and algorithms stays as a single sub-module. I agree with you that the numeric sub-libraries should be in libs/numeric.
The sub-libraries in Boost.Algorithm are a historical artifact, not something that was designed. In an ideal world (i.e, one where I have CFT), the separate sub-libraries in Boost.Algorithm would disappear, leaving a single Boost.Algorithm library in its' place. -- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki

2012/12/9 Marshall Clow <mclow.lists@gmail.com>
On Dec 9, 2012, at 8:50 AM, Beman Dawes <bdawes@acm.org> wrote:
On Sun, Dec 9, 2012 at 4:11 AM, Daniel Pfeifer <daniel@pfeifer-mail.de> wrote:
While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs.
The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them?
Move each one to a dedicated Git repository, or leave them grouped together?
What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not.
Size is at least one objective difference between "numeric" and "algorithm".
"boost/numeric" is 210 Files, 30 Folders, and 3,094,931 bytes. "boost/algorithm" is 70 Files, 6 Folders, and 487,109 bytes.
Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not.
Opinions?
Unless someone comes up with a killer argument to do otherwise, I'd say numeric stays separate submodules and algorithms stays as a single sub-module. I agree with you that the numeric sub-libraries should be in libs/numeric.
The sub-libraries in Boost.Algorithm are a historical artifact, not something that was designed.
In an ideal world (i.e, one where I have CFT), the separate sub-libraries in Boost.Algorithm would disappear, leaving a single Boost.Algorithm library in its' place.
By disappear, you mean "move somewhere else" or "not be seen as sublibs any more"?

On 09/12/2012 10:11, Daniel Pfeifer wrote:
While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs.
The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them?
Move each one to a dedicated Git repository, or leave them grouped together?
What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not.
Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not.
The system should support modules with arbitrary levels of nested submodules in them.

2012/12/9 Mathias Gaunard <mathias.gaunard@ens-lyon.org>
On 09/12/2012 10:11, Daniel Pfeifer wrote:
While adding Boost.ODEint to the modularization manifest, I realized some inconsistencies about sublibs.
The directories in "libs" usually contain one library each. In this case, we move the content to a dedicated Git repository. Some directories however (algorithm, numeric) host multiple libraries. How should we treat them?
Move each one to a dedicated Git repository, or leave them grouped together?
What's currently inconsistent, is that "numeric" is split into individual repositories, while "algorithm" is not.
Further, I saw that the Git submodules of numeric's sublibraries are generated in "libs" rather than "libs/numeric", which is wrong. However, before I fix it, we need to decide whether these individual submodules should be individual or not.
The system should support modules with arbitrary levels of nested submodules in them.
What system are you referring to? The filesystem? Yes, it supports arbitrary levels. Github? No, it does not support arbitrary levels; all modules live under https://github.com/boost-lib.
participants (4)
-
Beman Dawes
-
Daniel Pfeifer
-
Marshall Clow
-
Mathias Gaunard