git/list[1] front-page[2] threads[3] people[4] search[5] about
 

same files on different paths on different branches

From
RDRaul Dias <raul@dias.com.br>
Date
Mar 18, 2011, 00:06 UTC
Message-ID
<4D82A1F4.4060801@dias.com.br>
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

Next: Carlos Martín Nieto
Message 1 of 3 in “same files on different paths on different branches”
  1. Raul DiasMar 18, 2011
  2. Carlos Martín NietoMar 18, 2011
  3. Raul DiasMar 18, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.