Subject: same files on different paths on different branches

From: Raul Dias <[email-masked]>
Date: Thu, 17 Mar 2011 21:06:12 -0300

Hi,

I want to know if the following is possible to accomplish with git.
(please reply to me too)

A project is composed of many sub-modules (not in git sense).
These sub-modules are developed independently of the main project.
They need to be reattached to the projects' tree.

The problems:
    1 - a sub-module's tree does not have any projects file.
    2 - when a sub-module is re-attached to the main project, its files
are spread in many places (different from the the sub-module layout).

Ideally the project would understand which files are the same, even on
different places and apply the changes in the right files.
This way a merge/cherry picking would keep the history information.

Is it possible to accomplish something similar to this?
I understand that this is not how a git super-project works.
I don't think it is possible with different git repositories.

I tried with a empty branch technique. 
Created an empty branch with no history.
Started a sub-module (non git) there and tried to propagate the changes.
Git almost did the right thing.
A change in branch submodule's
    /foo/a.txt
should have gone to branch master's
    /bar/foo/a.txt
but instead it went to
    /bar/somethingelse/a.txt (which is the same as /bar/foo/a.txt)

So is it possible to get closer to this with git  in a way or another?

Thanks
-rsd