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

Re: Subprojects tasks

From
Martin Waitz <tali@admingilde.org>
Date
Dec 16, 2006, 22:58 UTC
Message-ID
<20061216225810.GD12411@admingilde.org>
In-Reply-To
<7v64cbeeiv.fsf@assigned-by-dhcp.cox.net>
hoi :)

Junio, I'll take a more detailed look at your mail tomorrow, after I regenerated from all the Guinness I had tonight ;-)

On Sat, Dec 16, 2006 at 01:07:04PM -0800, Junio C Hamano wrote:
Show 7 quoted lines
> Sven Verdoolaege <skimo@kotnet.org> writes:
> > On Sat, Dec 16, 2006 at 10:32:36AM -0800, Junio C Hamano wrote:
> >> I suspect the hardest part is "rev-list --objects" (now most of
> >> it is found in revision.c).  [..]  But I think the updated
> >> code needs to know that "link" needs to be unwrapped and
> >> contained "commit" needs to be injected back to the ancestry
> >> walking machinery.

Well, I already got to the point of using the commit directly, instead of any link object. It even worked with rev-list --objects in all my test cases. That is, I could correctly clone/pack/pull the complete project including all modules.

> > Wouldn't we then run into the scalability problems Linus was
> > concerned about ?
This is a real problem.
> If the plumbing layer does not have to (although I haven't
> thought it through, it does feel like it even shouldn't) unwrap
> "link" and let the Porcelain layer to deal with it, that would
> certainly make rev-list/revision.c part simpler.

Yes. However, it makes other things more complicated. If the plumbing does not do all the subproject stuff and you don't have everything in one database it is much more difficult to really get a consistent database when cloning or fetching (you have to get even old submodule commits which are not reachable by the current supermodule tree anymore, perhaps even submodules which do not exist anymore).

I did not have much time to think about these issues in the last day and am not yet convinced on how to proceed,

-- 
Martin Waitz
Previous: Junio C HamanoNext: Sven Verdoolaege
Message 19 of 24 in “Subprojects tasks”
  1. Junio C HamanoDec 16, 2006
  2. Jakub NarebskiDec 16, 2006
  3. Martin WaitzDec 16, 2006
  4. Jakub NarebskiDec 16, 2006
  5. Josef WeidendorferDec 17, 2006
  6. Martin WaitzDec 17, 2006
  7. Jakub NarebskiDec 17, 2006
  8. Martin WaitzDec 17, 2006
  9. Jakub NarebskiDec 17, 2006
  10. Martin WaitzDec 17, 2006
  11. Josef WeidendorferDec 17, 2006
  12. Martin WaitzDec 18, 2006
  13. Josef WeidendorferDec 17, 2006
  14. Martin WaitzDec 18, 2006
  15. Josef WeidendorferDec 18, 2006
  16. Josef WeidendorferDec 17, 2006
  17. Sven VerdoolaegeDec 16, 2006
  18. Junio C HamanoDec 16, 2006
  19. Martin WaitzDec 16, 2006
  20. Sven VerdoolaegeDec 16, 2006
  21. Josef WeidendorferDec 17, 2006
  22. Alan ChandlerDec 17, 2006
  23. Jakub NarebskiDec 17, 2006
  24. Martin WaitzDec 17, 2006

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.