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

Re: What's cooking in git.git (topics)

From
Junio C Hamano <junkio@cox.net>
Date
Apr 20, 2007, 11:14 UTC
Message-ID
<7vmz13z4au.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070419100757.GB27208@admingilde.org>
Martin Waitz <tali@admingilde.org> writes:
> Now, how to go on?
> The next thing we need is a real checkout & merge support -- but that
> is not that hard.

As git.git is the project that everybody who is interested in making the feature to materialize fetches, looks at and works on anyway, once the support at the plumbing level is complete, an obvious thing to do is to use it in git.git tree itself.

For example, I would like to eventually be able to remove git-gui/ subdirectory and bind git-gui.git as a subproject. Another possibility that is probably of a smaller impact is to bind what is known as 'todo' branch at Meta/ directory, as that is where I have the branch checked out in my worktree. People who are not interested in what are in 'todo' would not mind having an empty directory there in their checkout, and interested ones can use the same layout as I do.

Making git.git the first guinea pig has a unique bootstrapping problem involved, however. These kind of changes in git.git itself has to wait at least until what we have in 'next' today is in everybody's hands. Otherwise, people who want to use git for their real work need to first grab a tarball snapshot that has the plumbing subproject support, and then update to 'master', because we are still too fast moving for any distro binary packaged version to be satisfactory solution for people who want to have all the bells and whistles. Also, I cannot have subproject in git.git until kernel.org starts running git with subproject support -- otherwise nobody can clone or pull from git.git X-<.

If there was a project of lessor importance that can afford to say "if you want to track this project, you have to use git from 'next', which has not yet been officially released, but we are a small closely knit group and we can live with this limitation", it would be easier, but that would not be as effective guinea pig as git.git itself would be.

Eating our own dog food is how git has evolved since its early days. There was no Porcelain to speak of back then; Linus gave a recipe for keeping track of your work using 'update-index', 'write-tree', 'commit-tree' and 'echo' (we did not even have 'update-ref' to advance the tip of the branch; instead we did "commit=$(commit-tree) && echo $commit >.git/HEAD"), and people first followed that recipe, and later wrote a set of thin shell wrappers around that recipe.

> Then we need to think about how to handle the submodule object
> database, e.g. when fetching.

With the clear separation of connectivity rules between modules, I do not think this is an issue at all.

Previous: Martin WaitzNext: Alex Riesen
Message 7 of 32 in “What's cooking in git.git (topics)”
  1. Junio C HamanoApr 9, 2007
  2. Junio C HamanoApr 16, 2007
  3. Junio C HamanoApr 19, 2007
  4. Alex RiesenApr 19, 2007
  5. Nicolas PitreApr 19, 2007
  6. Martin WaitzApr 19, 2007
  7. Junio C HamanoApr 20, 2007
  8. Alex RiesenApr 20, 2007
  9. Sam RavnborgApr 20, 2007
  10. Martin WaitzApr 21, 2007
  11. Linus TorvaldsApr 21, 2007
  12. [RFR] gitattributes(5) documentationJunio C Hamano, Apr 20, 2007
  13. Linus TorvaldsApr 20, 2007
  14. Junio C HamanoApr 20, 2007
  15. David LangApr 22, 2007
  16. Junio C HamanoApr 22, 2007
  17. David LangApr 22, 2007
  18. Nicolas PitreApr 20, 2007
  19. Junio C HamanoApr 22, 2007
  20. Junio C HamanoApr 23, 2007
  21. Nicolas PitreApr 23, 2007
  22. Alex RiesenApr 23, 2007
  23. Junio C HamanoApr 23, 2007
  24. Alex RiesenApr 23, 2007
  25. Junio C HamanoApr 23, 2007
  26. Alex RiesenApr 24, 2007
  27. Johannes SchindelinApr 24, 2007
  28. Alex RiesenApr 24, 2007
  29. Johannes SchindelinApr 24, 2007
  30. Junio C HamanoApr 24, 2007
  31. Alex RiesenApr 25, 2007
  32. Johannes SchindelinApr 23, 2007

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.