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

Re: GIT_OBJECT_DIRECTORY

From
JEJörn Engel <joern@wohnheim.fh-wedel.de>
Date
Apr 18, 2006, 18:45 UTC
Message-ID
<20060418184508.GC25688@wohnheim.fh-wedel.de>
In-Reply-To
<7vfykag2yd.fsf@assigned-by-dhcp.cox.net>
On Tue, 18 April 2006 11:20:58 -0700, Junio C Hamano wrote:
Show 7 quoted lines
> Jörn Engel <joern@wohnheim.fh-wedel.de> writes:
> 
> > Well, .git/objects for your kernel still consumes 121M.  It's not
> > gigabytes but I still wouldn't want too many copies of that lying
> > around.
> 
> That is what "git clone -l -s" is for.  

See my response to Linus. .git/objects is currently the smaller problem. The larger problem is 311M of raw kernel source - without any SCM overhead of any flavour. Like many others, I solved the larger problem with hardlink trees. "git clone -l -s" is imo nearly unethical, as it solved the smaller problem and leaves the larger one unaffected. It reeks of hypocricy.

Hardlink trees still aren't perfect. If I take one tree, "cp -lr" it twice and apply the same patches to both copies, the changed files exist twice for both copies. That sucks, but it is a fairly small problem and there is no simple solution to it.

If git was able to deal with hardlink trees and properly break the links when working in one copy, "cp -lr" would be a lot smarter than "git clone -l -s". It just happens that I have written some kernel patches that automatically break hardlinks, even if applications don't know how to do it. So for my personal use, git has this ability.

Now, going one step further, GIT_OBJECT_DIRECTORY could solve another problem. Just like source files, git object can be pulled twice into two copies of a tree. But for git objects, there appeared to be an easy solution: the central object storage. So we're back where this thread started.

Except that I get the idea of GIT_OBJECT_DIRECTORY not being a simple solution to a small problem, so maybe I should just forget about it.

Jörn
-- 
To my face you have the audacity to advise me to become a thief - the worst
kind of thief that is conceivable, a thief of spiritual things, a thief of
ideas! It is insufferable, intolerable!
-- M. Binet in Scarabouche
Previous: Junio C Hamano
Message 12 of 12 in “GIT_OBJECT_DIRECTORY”
  1. Jörn EngelApr 18, 2006
  2. Linus TorvaldsApr 18, 2006
  3. Jörn EngelApr 18, 2006
  4. Sam RavnborgApr 18, 2006
  5. Linus TorvaldsApr 18, 2006
  6. Jörn EngelApr 18, 2006
  7. Linus TorvaldsApr 18, 2006
  8. Jörn EngelApr 18, 2006
  9. H. Peter AnvinApr 19, 2006
  10. Junio C HamanoApr 19, 2006
  11. Junio C HamanoApr 18, 2006
  12. Jörn EngelApr 18, 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.