Subject: git clone and submodules

From: Massimo Manca <[email-masked]>
Date: Thu, 16 Jun 2011 15:13:30 +0200

Hello,
on my windows notebook I have a local repo: h:\Repositories\RepoWR; it
contains 2 branches: the master and the 1.1.0 (that is a bug correction
branch). At now the 1.1.0 it is not merged on the master because we will
correct more other bugs (one bug -> one branch).

1. I need to clone the Repo, I mean the repo, working directory and
complete branches and history.
Actually to do this I must make a brutal copy of the RepoWR folder
because if I use git clone git doesn't clone also the master branch but
only the 1.1.0 branch that it is the active one (I used git checkout to
activate it).

So I am sure that I miss something and that this is a very common
situation, what I am doing wrong?

2. RepoWR will contain a complex project developed by several engineers
and made of some subprojects (already existent) and some libraries. I
would manage them as submodules, these are my intents:
a) the library mclib (about 50 c files) has its repo on a different
location, I would "connect" its repo inside RepoWR as a submodule
because I am sure that we need to modify/extend the library and we would
to have the ability to modify it and propagate modifications to its
repo, forcing all users of mclib to see the modifications and to repeate
their regression tests
How can implement this situation? Where can I find info or documentation?

b) every module (not more the 4-5 c files) will be developed and unit
tested, so normally every engineer makes a unit test project
implementing/using the module to test with TDD workflow. During the
progress of the work the modules must be added and committed to RepoWR;
the modules are on the working directory of RepoWR (RepoWR\src) and the
test files on a specific subfolder (RepoWR\TestModuleOne\src).
Is this a viable solution or are there hidden problems and so better
solution to implement?