From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@osdl.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>, git@vger.kernel.org
Subject: Re: Index/hash order
Date: Wed, 13 Apr 2005 22:02:37 +0200 [thread overview]
Message-ID: <20050413200237.GA26635@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.58.0504131144160.4501@ppc970.osdl.org>
* Linus Torvalds <torvalds@osdl.org> wrote:
> > with a plaintext repository we could do the 'hardlink trick' (which
> > brings in other manageability problems and limitations but is at least a
> > partially good idea), which would make the working tree and the
> > repository share the same inode in most cases.
> However, the real issue is that you're really asking for trouble.
> There are tons of tools that modify files without breaking the
> hardlink. Even some editors do. So you just use the wrong tool on the
> tree by mistake, and not only is your archive corrupt, you've
> corrupted all other archives that might have shared the same object
> directory.
that's what i loosely meant under 'manageability problems'.
I mentioned one solution earlier: to make the repository object an
immutable file (the +i flag on the inode) - it really wants to be
immutable after all. That would solve a whole range of 'accidental
corruption' issues.
Another solution (suggested by Christer Weinigel) was to enforce
immutability by making it owned by another user/group (git:git or
whatever).
but having a binary compressed format is 'soft immutability', done
cleverly.
Ingo
next parent reply other threads:[~2005-04-13 20:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <425C3F12.9070606@zytor.com>
[not found] ` <Pine.LNX.4.58.0504121452330.4501@ppc970.osdl.org>
[not found] ` <20050412224027.GB20821@elte.hu>
[not found] ` <Pine.LNX.4.58.0504121554140.4501@ppc970.osdl.org>
[not found] ` <20050412230027.GA21759@elte.hu>
[not found] ` <20050412230729.GA22179@elte.hu>
[not found] ` <20050413111355.GB13865@elte.hu>
[not found] ` <425D4E1D.4040108@zytor.com>
[not found] ` <20050413165310.GA22428@elte.hu>
[not found] ` <425D4FB1.9040207@zytor.com>
[not found] ` <20050413171052.GA22711@elte.hu>
[not found] ` <Pine.LNX.4.58.0504131027210.4501@ppc970.osdl.org>
[not found] ` <20050413182909.GA25221@elte.hu>
[not found] ` <Pine.LNX.4.58.0504131144160.4501@ppc970.osdl.org>
2005-04-13 20:02 ` Ingo Molnar [this message]
2005-04-13 20:07 ` Index/hash order H. Peter Anvin
2005-04-13 20:15 ` Ingo Molnar
2005-04-13 20:18 ` Ingo Molnar
2005-04-13 20:21 ` Ingo Molnar
2005-04-13 20:26 ` Updated base64 patches H. Peter Anvin
2005-04-13 21:04 ` Index/hash order Linus Torvalds
2005-04-20 7:40 ` enforcing DB immutability Ingo Molnar
2005-04-20 7:49 ` Ingo Molnar
2005-04-20 7:53 ` Ingo Molnar
2005-04-20 8:58 ` Chris Wedgwood
2005-04-20 14:57 ` Nick Craig-Wood
2005-04-27 8:15 ` Wout
2005-04-13 20:15 ` Index/hash order Linus Torvalds
2005-04-13 20:28 ` Baruch Even
[not found] ` <Pine.LNX.4.58.0504131008500.4501@ppc970.osdl.org>
2005-04-13 21:40 ` Florian Weimer
2005-04-13 22:11 ` Linus Torvalds
2005-04-13 22:48 ` Florian Weimer
2005-04-14 7:04 ` Ingo Molnar
2005-04-14 10:50 ` cache-cold repository performance Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050413200237.GA26635@elte.hu \
--to=mingo@elte.hu \
--cc=git@vger.kernel.org \
--cc=hpa@zytor.com \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.