Re: [RFC] Zit: the git-based single file content tracker
- From
- david@lang.hm <david@lang.hm>
- Date
- Oct 24, 2008, 19:46 UTC
- Message-ID
- <alpine.DEB.1.10.0810241244170.27333@asgard.lang.hm>
- In-Reply-To
- <cb7bb73a0810241242y7467f6fexcca4b7cd768e7992@mail.gmail.com>
On Fri, 24 Oct 2008, Giuseppe Bilotta wrote:
Show 65 quoted lines
> I was slowly writing a reply but it seems David beat me to it, so here > goes a couple of additional comments. > > On Fri, Oct 24, 2008 at 9:11 PM, <david@lang.hm> wrote: >> On Fri, 24 Oct 2008, Junio C Hamano wrote: >>> Running "git init" in an empty directory consumes about 100k of diskspace >>> on the machine I am typing this on, and you should be able to share most >>> of them (except one 41-byte file that is the branch tip ref) when you >>> track many files inside a single directory by using a single repository, >>> one branch per file (or "one set of branches per file") model. >> >> the reason to use seperate repos is to ease the work involved if you need to >> move that file (and it's repo) elsewhere. > > Precisely. The one-repo-per-file is just the simplest and most > flexible solution. But yes, I have to admit I hadn't looked into disk > usage, and indeed we should try and squeeze this as much as possible. > >> with the git directory being under .zit, would it be possible to link the >> things that are nessasary togeather? > > I'm not sure about _which_ files could be shared. > >> hmm, looking at this in more detail. >> >> about 44K of diskspace is used by the .sample hook files, so those can be >> removed > > Exactly. I'm setting up zit to prepare its repos to a more compact > form, and getting rid of hooks and description is the first step. > >> the remaining 56K is mostly directories eating up a disk block >> >> find . -ls >> 200367 4 drwxr-xr-x 7 dlang users 4096 Oct 24 12:00 . >> 200368 4 drwxr-xr-x 4 dlang users 4096 Oct 24 12:00 ./refs >> 200369 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 >> ./refs/heads >> 200370 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 >> ./refs/tags >> 200371 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 >> ./branches >> 200372 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 ./hooks >> 200373 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 ./info >> 1798469 4 -rw-r--r-- 1 dlang users 240 Oct 24 12:00 >> ./info/exclude >> 1600716 4 -rw-r--r-- 1 dlang users 58 Oct 24 12:00 >> ./description >> 200374 4 drwxr-xr-x 4 dlang users 4096 Oct 24 12:00 ./objects >> 200375 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 >> ./objects/pack >> 200376 4 drwxr-xr-x 2 dlang users 4096 Oct 24 12:00 >> ./objects/info >> 1600717 4 -rw-r--r-- 1 dlang users 23 Oct 24 12:00 ./HEAD >> 1600719 4 -rw-r--r-- 1 dlang users 92 Oct 24 12:00 ./config >> >> how many of these are _really_ nessasary? > > For starters, I'm wondering if setting core.preferSymlinkRefs would be > useful here. Does it break sometihng? > >> tags, info, hooks, branches, and description could probably be skipped for >> the common zit case, as long as they can be created as needed. > > It seems that tags, hooks, branches and description can be done with.
do you mean 'can be done away with'?
> info contains exclude which is rather essential,
is it? by default everything in this file is commented out. And with you only adding files explicitly why would it ever need to excluded anything?
David Lang