I'm new to GIT and I'm having long thoughts about how to use GIT to manage my projects structured as below.
CODE1
L .metadata
L appleserver
L shared-code-archive = common with bananaserver
L logger-archive = common with bananaserver
CODE2
L .metadata
L bananaserver
L shared-code-archive = common with appleserver
L logger-archive = common with appleserver
The .metadata is the Eclipse metadata and is project specific to appleserver or bananaserver. appleserver has project specific code and is versioned as 1.0, 1.1 etc shared-code-archive is shared code, and has its own versioning as 1.0, 1.1 etc. logger-archive is shared code, and has its own versioning as 1.0, 1.1 etc.
Appleserver ver 1.0 depends on ver 1.5 shared-code-archive, and ver 1.3 of logger-archive. Appleserver ver 1.1 depends on ver 1.6 shared-code-archive, and ver 1.3 of logger-archive.
I need to be able to manage appleserver project such that, when I checkout version 1.0 of apple server, I need the dependent versions to get checked out automatically.