Hello, Here is my topic. Is it possible to track a submodule through a relative path outside of a submodule ? The purpose of this thing is to maintain dependency through different library or projects. Let says this generic dependency tree. project 1 --+--> library 1 | +--> library 2 project 2 --+--> library 1 | +--> library 3 project 3 --+--> library 2 | +--> library 4 | +--> project 1 --+--> library 1 | +--> library 2 project 4 --+--> library 4 | +--> project 1 --+--> library 1 | | | +--> library 2 | +--> project 2 --+--> library 1 | | | +--> library 3 | +--> project 3 --+--> library 2 | +--> library 4 | +--> project 1 --+--> library 1 | +--> library 2 CAUTION : this is a tree of dependency not directory. We can obviously solve this by doing trees of submodules just reflecting the trees of dependency but it create somme problems. 1. In project 4 I have 2 times project 1 and 3 times libraries 1 and 2 And 2 times library 4. 2. It is a wast of space. 3. Different version of the same libraries or projects could be used. 4. when linking object, multiples objects will export the same symbols Point 2 could be acceptable in little project. Point 4 could be addressed by a careful compilation schema. Point 3 could be no issue and discard point 2 meaning if it is what you want in your work flow. But in my work flow it is a bug every thing NEED to be synchronized. what I would like to have is every git tree in the same directory where I put my code (not necessary a super project tree). like this : Anything/library_1 Anything/library_2 Anything/library_3 Anything/library_4 Anything/project_1 with a git submodule add ../library_1 ../library_2 Anything/project_2 with a git submodule add ../library_1 ../library_3 Anything/project_3 with a git submodule add ../library_2 ../library_4 ../project_1 Anything/project_4 with a git submodule add ../library_4 ../project_1 ../project_2 ../project_3 But when I do this I receive a "fatal: '../library_1' is outside repository" This is due to the fact that 'git add submodule' use the tests of 'git add' which prevent creating files outside of the working tree for obvious security reasons. But in my point of view the meaning of a submodule should be more like a symlink on a repository than a sub tree. And symlink does not seams to be prohibited even if they link to something outside of the repository. I have tried a work around by doing : "git submodule add library_1 library_2" in project 1 and then replacing library_1 and library_2 by symlinks to ../library_1 and ../library_2 but git immediately track the symlink itself and not what is pointed to. And even if it had worked, this type of work around is not clean. I have think about removing the test in setup.c in case of adding a submodule. But I am not deeply involved in git source code then I am not sure of the possibles side effects of this modification. As well may be there is an other solution that I still haven not think about. Henri GEIST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html