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

Re: [RFC/PATCH 0/3] Thinning the git toplevel directory

From
Nicolas Pitre <nico@fluxnic.net>
Date
Feb 24, 2011, 18:04 UTC
Message-ID
<alpine.LFD.2.00.1102241252000.26358@xanadu.home>
In-Reply-To
<1298567455.19041.39.camel@drew-northup.unet.maine.edu>
On Thu, 24 Feb 2011, Drew Northup wrote:
Show 19 quoted lines
> 
> On Wed, 2011-02-23 at 19:14 -0500, Nicolas Pitre wrote:
> > On Wed, 23 Feb 2011, Drew Northup wrote:
> > 
> > > Besides, if we move anything around into a deeper directory structure we
> > > are inevitably going to have to deal with more recursive make problems.
> > > We can't just commit to master a tree that has everything moved about
> > > and get around to dealing with the Makefiles later.
> > 
> > The initial set of patches simply moved files into subdirectories and 
> > made the corresponding renames within the Makefile.
> > 
> > Reorganizing the Makefile into a better Makefile or sub-makefiles can be 
> > done subsequently.  That's my point.
> 
> It can be done as a separate patch, but it should all be done in the
> public branch (pu?) as atomically as possible (one merge from Junio's
> workspace). In other words, the public branch should never fail to build
> because of this work.
Who said this would fail to compile?

If you move bar.c into the foo directory, then in the existing Makefile you simply have to make a mechanical rename of bar.c to foo/bar.c. Restructuring the Makefile can be done separately from the file move without ever breaking the build (except for unintentional mistakes of course).

Show 5 quoted lines
> As for making an authoritative publicly available branch containing this
> reorganization work (due solely to the extreme effect it will have on
> other development), I will leave it an open question as to whether this
> belongs in pu while a 1.7.5 release is still a possibility. It looks
> like a headache either way.

Oh sure. But if we the developers of Git can't deal with that ourselves then it is a really good sign that our own tool is crappy in that area and probably needs to be improved. Such a tree reorganization is something that happens in other projects as well, so it is a good opportunity to improve Git to cope well with such a situation if it isn't up to it yet.

Nicolas
Previous: Drew NorthupNext: Jeff King
Message 44 of 54 in “Move test-*.c to test/ subdirectory”
  1. Move test-*.c to test/ subdirectoryNguyễn Thái Ngọc Duy, Feb 9, 2011
  2. Nguyen Thai Ngoc DuyFeb 9, 2011
  3. Junio C HamanoFeb 9, 2011
  4. Move test-* to t/helper/ subdirectoryNguyễn Thái Ngọc Duy, Feb 10, 2011
  5. 0/3 Thinning the git toplevel directoryJonathan Nieder, Feb 18, 2011
  6. 1/3 Move libgit.a sources into a libgit/ subdirectoryJonathan Nieder, Feb 18, 2011
  7. Nguyen Thai Ngoc DuyFeb 18, 2011
  8. Jonathan NiederFeb 18, 2011
  9. Jeff KingFeb 18, 2011
  10. Jonathan NiederFeb 18, 2011
  11. Nguyen Thai Ngoc DuyFeb 18, 2011
  12. 2/3 Move test-* into a test-programs/ subdirectoryJonathan Nieder, Feb 18, 2011
  13. 3/3 Move header files into a include/ subdirectoryJonathan Nieder, Feb 18, 2011
  14. Nguyen Thai Ngoc DuyFeb 18, 2011
  15. 6/3 Move remaining header files into a include/ subdirectoryJonathan Nieder, Feb 18, 2011
  16. 4/3 compat: do not use relative paths to refer to git-compat-util.h et alJonathan Nieder, Feb 18, 2011
  17. 5/3 block-sha1: do not use relative path for git-compat-util.hJonathan Nieder, Feb 18, 2011
  18. 6/3 Move git-compat-util.h, strbuf.h, and cache.h to include/Jonathan Nieder, Feb 18, 2011
  19. Nguyen Thai Ngoc DuyFeb 18, 2011
  20. 9/3 Thinning the git toplevel directoryJonathan Nieder, Feb 18, 2011
  21. 7/3 Move test-sha1.sh to test-programs/Jonathan Nieder, Feb 18, 2011
  22. 8/3 Move build helpers to scripts/ subdirectoryJonathan Nieder, Feb 18, 2011
  23. 9/3 Move non-builtin git commands and script libraries to a subdirectoryJonathan Nieder, Feb 18, 2011
  24. Jonathan NiederFeb 18, 2011
  25. Jeff KingFeb 18, 2011
  26. Jonathan NiederFeb 18, 2011
  27. Nguyen Thai Ngoc DuyFeb 18, 2011
  28. Junio C HamanoFeb 18, 2011
  29. Jonathan NiederFeb 19, 2011
  30. Sverre RabbelierFeb 19, 2011
  31. The git_remote_helpers package (Re: [RFC/PATCH 0/3] Thinning the git toplevel directory)Jonathan Nieder, Feb 19, 2011
  32. Jeff KingFeb 22, 2011
  33. Junio C HamanoFeb 22, 2011
  34. Sverre RabbelierFeb 22, 2011
  35. Jeff KingFeb 23, 2011
  36. Jonathan NiederFeb 23, 2011
  37. Jeff KingFeb 23, 2011
  38. Recursive make and variations on the themeJonathan Nieder, Feb 23, 2011
  39. Junio C HamanoFeb 23, 2011
  40. Nicolas PitreFeb 23, 2011
  41. Drew NorthupFeb 23, 2011
  42. Nicolas PitreFeb 24, 2011
  43. Drew NorthupFeb 24, 2011
  44. Nicolas PitreFeb 24, 2011
  45. Jeff KingFeb 24, 2011
  46. Drew NorthupFeb 24, 2011
  47. Piotr KrukowieckiFeb 19, 2011
  48. Junio C HamanoFeb 19, 2011
  49. Jonathan NiederFeb 19, 2011
  50. Piotr KrukowieckiFeb 19, 2011
  51. Piotr KrukowieckiFeb 19, 2011
  52. Advertising the prebuilt htmldocs and manpagesJonathan Nieder, Feb 19, 2011
  53. Junio C HamanoFeb 20, 2011
  54. Jonathan NiederFeb 20, 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.