On 2015-02-11 19:17, Dicebot wrote:

$ git clone --recursive [email protected]:D-Programming-Language/dlang

This will clone all submodules set to latest released version tag
(v2.066.1 right now)

What I don't like about this is that you don't get the latest code. Maybe this will cause more problems for new developers than it will fix.

$ cd dlang; ./dlang.d update

This will update all submodules to latest git master heads.

And when you do have the latest code, you will also have a "dirty" working directory.

git submodules are designed to track exact commit hash of remote
repository - it is impossible to define those to always be cloned as
most recent version of some branch. One can keep updating submodule
references with some daemon service (Vladimir does exactly that in
https://bitbucket.org/cybershadow/d)

I was thinking of using git hooks that updates the submodules. That is, each repository that is a submodule would have a git hook that is run after each commit. The hook would update the submodule in the meta repository.

but that will pollute history of
meta-repo with dozens of trivial commits every day making it hard to use
it for any real code (and also relying on well-being of that daemon
service).

Will there be much "real" code in the meta repository? Are you thinking about shared build scripts?

--
/Jacob Carlborg

Reply via email to