.NET Enterprise Development with Shared Modules
Kevin Bullock
kbullock+mercurial at ringworld.org
Wed Jul 25 17:57:47 UTC 2012
On Jul 25, 2012, at 1:25 AM, Lester Caine wrote:
> Greg Ward wrote:
>> One piece of advice that will only make sense to people who have been
>> struggling with insane source trees for many years: keep it flat!!
>> Don't nest things too deeply. You'll just cause unnecessary pain for
>> yourself and for others. I think this is an argument*against* using
>> sub-sub-...-sub-repos to pull in dependencies of dependencies.
>
> The problem with that statement is that it misses the point of the problem.
> It is nice to see that development frameworks other than scripted languages are finding the same problems.
> It's very difficult to 'keep it flat', when the whole basis is that there is a core framework on top of which one is building. Then there are a library of functions using that framework. Then there is the target application.
Sane frameworks factor these dependencies out of the project's source tree, so that you can do sane, decoupled development. Even frameworks that started out monolithic like you describe tend to move toward greater decoupling as they evolve. For example, Ruby on Rails projects no longer bundle everything (Rails itself, plus all the plugins you want to use) into the vendor/ directory in the project root. They're installed separately as gems.
Similarly, Java frameworks lately seem to favor pulling in a bunch of .jar files using e.g. Maven, rather than keeping those dependencies tightly controlled inside your source tree.
To say that keeping it flat is too hard is simply insisting a problem is unsolvable that's already been solved. Repeatedly. In just about every major language, on every major platform.
pacem in terris / мир / शान्ति / سَلاَم / 平和
Kevin R. Bullock
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20120725/3af2df0e/attachment-0002.html>
More information about the Mercurial
mailing list