[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Re: How new-style codeville merge works
From: |
Zack Weinberg |
Subject: |
Re: [Monotone-devel] Re: How new-style codeville merge works |
Date: |
Sat, 07 May 2005 21:29:17 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Nathaniel Smith <address@hidden> writes:
> Yes, a weave (SCCS's storage format) turns out to be remarkably
> well-suited to this.
It would, however, be silly to clone SCCS's storage format exactly.
s.files have a lot of historical junk in them, plus gratuitous control
characters. Also, they're really two files jammed together. The top
half of the file (metadata) grows by one record, in an append-only
fashion, for almost all write operations. The bottom of the file (the
database of lines) does not need to be modified at all for some
operations, but in SCCS has to be rewritten anyway in order to make
room for the new metadata record. Contentful commits generally force
the bottom half to be rewritten from scratch; I think it would be
possible to make it append-only too, but that would probably hurt
checkout performance.
zw