From: Tom Lord <lord@regexps.com>
To: linux-kernel@vger.kernel.org
Cc: lm@bitmover.com, jaharkes@cs.cmu.edu
Subject: Re: linux-2.5.4-pre1 - bitkeeper testing
Date: Thu, 7 Feb 2002 18:32:07 -0800 (PST) [thread overview]
Message-ID: <200202080232.SAA09372@morrowfield.home> (raw)
In-Reply-To: <20020207132558.D27932@work.bitmover.com> (message from Larry McVoy on Thu, 7 Feb 2002 13:25:58 -0800)
In-Reply-To: <Pine.LNX.4.44.0202052328470.32146-100000@ash.penguinppc.org> <20020207165035.GA28384@ravel.coda.cs.cmu.edu> <200202072306.PAA08272@morrowfield.home> <20020207132558.D27932@work.bitmover.com>
lm@bitmover.com writes:
An interesting experiment would be to take every kernel revision,
including all the pre-patches, and import it into arch and report the
resulting size of the repository and the time to generate each version
of the tree from that repository.
I agree. This would also be an opportunity for tuning and debugging
and a giant leap towards deployment.
I suspect that this will demonstrate the most serious issue
that I have with the arch design.
>From what you go on to describe, I think your perceptions of the arch
design are slightly, but critically out-of-date.
In essence arch isn't that different from RCS in that arch is
fundamentally a diff&patch based system with all of the
limitations that implies. There are very good reasons that BK,
ClearCase, Aide De Camp, and other high end systems, are *not*
diff&patch based revision histories, they are weave based.
Arch is in two layers: The lower layer is a repository management
layer that is, as you say, diff&patch based. The upper layer is a
work-space management layer that is based on keeping a library of
complete source trees for many revisions, with unmodified files shared
between those trees via hard links.
The lower layer provides very compact archival of revisions,
repository transactions, the global name-space of revisions, and
distributed repositories. The upper layer provides convenience and
speed. By far, the second layer is not the most space efficient
approach: I'm sure that arch will lose if compared by that metric.
However, it is extremely convenient and well within the capacity of
cheap, modern storage.
Weave-based systems are a single layer approach with intermediate
characteristics. They make a different set of space/time trade-offs
-- one that, as I see it, comes from a time (not very long ago) when
storage was much more expensive. A weave-based system can provide
most of the speed of arch's second layer, but unless it is presented
as a file system, it lacks the convenience of being able to run
ordinary tools like `find', `grep', and `diff' on your past revisions.
With arch, you can use all of those standard tools and you can get a
copy of a past revision just as fast as your system can recursively
copy a tree.
But most importantly, BK at least, has great merge tools. At
the end of the day, what most people spend their time on is
merging. Everything else is just accounting and how the
system does that is interesting to the designers and noone
else. What users care about is how much time they spend
merging. It's technically impossible to get arch or CVS or
RCS or any diff&patch based system to give you the same level
of merge support.
I think this is just wrong. Aside from the fancy merge operators
built-in to arch, arch's second layer makes the choice of merging
technologies largely orthogonal to the revision control system.
Are _you_ going to send Tom $500?
If only it were that easy. It isn't, is it? :-)
-t
next prev parent reply other threads:[~2002-02-07 23:25 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-06 7:33 linux-2.5.4-pre1 - bitkeeper testing Jeramy B. Smith
2002-02-06 15:15 ` Florian Weimer
2002-02-07 16:50 ` Jan Harkes
2002-02-07 23:06 ` Tom Lord
2002-02-07 21:23 ` Daniel Phillips
2002-02-08 1:02 ` Tom Lord
2002-02-07 21:23 ` Paul P Komkoff Jr
2002-02-07 21:28 ` Larry McVoy
2002-02-07 21:25 ` Larry McVoy
2002-02-08 2:32 ` Tom Lord [this message]
2002-02-08 15:33 ` Pavel Machek
2002-02-08 21:35 ` Larry McVoy
2002-02-11 8:20 ` Josh MacDonald
2002-02-11 15:00 ` Larry McVoy
2002-02-11 20:25 ` Pavel Machek
2002-02-11 22:14 ` Larry McVoy
2002-02-12 5:17 ` Tom Lord
2002-02-12 3:59 ` Theodore Tso
2002-02-12 6:19 ` Bernd Eckenfels
2002-02-12 20:28 ` Tom Lord
2002-02-12 22:54 ` Larry McVoy
2002-02-13 0:52 ` Daniel Phillips
2002-02-13 9:41 ` Tom Lord
2002-02-13 10:35 ` Roman Zippel
2002-02-12 11:01 ` Josh MacDonald
2002-02-12 11:15 ` Jeff Garzik
2002-02-18 18:10 ` Eric W. Biederman
2002-03-10 8:36 ` Hans Reiser
2002-03-10 19:41 ` Itai Nahshon
2002-03-10 20:19 ` Hans Reiser
2002-03-10 21:16 ` Rob Turk
2002-03-10 21:34 ` Alan Cox
2002-03-10 21:23 ` Rik van Riel
2002-03-11 8:22 ` Hans Reiser
2002-03-10 21:28 ` Alexander Viro
2002-03-11 11:04 ` Mark H. Wood
2002-03-11 9:46 ` Harald Arnesen
2002-03-10 21:37 ` Richard Gooch
2002-03-11 5:48 ` Hans Reiser
2002-03-11 5:52 ` Alexander Viro
2002-03-11 6:15 ` Hans Reiser
2002-03-11 6:37 ` Alexander Viro
2002-03-11 6:42 ` Richard Gooch
2002-03-11 13:13 ` yodaiken
2002-03-11 15:51 ` Hans Reiser
2002-03-11 16:08 ` yodaiken
2002-03-11 16:56 ` Hans Reiser
2002-03-11 22:51 ` James Antill
2002-03-12 7:58 ` Hans Reiser
2002-03-12 22:37 ` Andrew Pimlott
2002-03-13 8:09 ` Hans Reiser
2002-03-13 15:10 ` Andrew Pimlott
2002-03-13 9:39 ` Geert Uytterhoeven
2002-03-13 14:37 ` Andrew Pimlott
2002-03-13 16:26 ` Larry McVoy
2002-03-13 16:30 ` Andrew Pimlott
2002-03-13 19:18 ` Hans Reiser
2002-03-14 9:39 ` filesystem transactions (was Re: linux-2.5.4-pre1 - bitkeeper testing) Tom Lord
2002-03-14 8:26 ` Hans Reiser
2002-03-14 10:31 ` Eric W. Biederman
2002-03-11 14:05 ` linux-2.5.4-pre1 - bitkeeper testing Luigi Genoni
2002-03-11 10:46 ` Mark H. Wood
2002-03-11 11:32 ` Hans Reiser
2002-03-11 15:29 ` Steven Cole
2002-03-11 16:08 ` Hans Reiser
2002-03-11 16:25 ` Steven Cole
2002-03-11 17:08 ` Hans Reiser
2002-03-11 17:16 ` Nikita Danilov
2002-03-11 18:22 ` VMS File versions (was RE: linux-2.5.4-pre1 - bitkeeper testing) Robert Pfister
2002-03-11 18:41 ` linux-2.5.4-pre1 - bitkeeper testing Steven Cole
2002-03-11 19:15 ` Hans Reiser
2002-03-11 21:33 ` Steven Cole
2002-03-11 21:54 ` Richard B. Johnson
2002-03-11 22:01 ` Richard B. Johnson
2002-03-11 22:19 ` Steven Cole
2002-03-12 0:14 ` Robert Pfister
2002-03-12 7:54 ` linux-2.5.4-pre1 - bitkeeper testing (If you don't like the closed source nature of Bitkeeper, stop your whining and help out with reiserfs.) Hans Reiser
2002-03-12 1:28 ` linux-2.5.4-pre1 - bitkeeper testing Mark H. Wood
-- strict thread matches above, loose matches on Subject: below --
2002-03-12 18:08 Thunder from the hill
2002-02-06 3:37 Linus Torvalds
2002-02-06 6:50 ` Andreas Dilger
2002-02-06 7:50 ` Reid Hekman
2002-02-06 8:03 ` Larry McVoy
2002-02-06 19:35 ` Christoph Hellwig
2002-02-06 19:45 ` Tom Rini
2002-02-06 20:44 ` Wayne Scott
2002-02-06 20:35 ` Larry McVoy
2002-02-06 22:25 ` Mike Fedyk
2002-02-06 15:17 ` Florian Weimer
2002-02-06 15:32 ` Rik van Riel
2002-02-06 16:54 ` Larry McVoy
2002-02-06 22:19 ` Rob Landley
2002-02-06 17:30 ` Roman Zippel
2002-02-06 17:33 ` Linus Torvalds
2002-02-06 19:58 ` Roman Zippel
2002-02-06 23:36 ` Linus Torvalds
2002-02-06 23:54 ` Larry McVoy
2002-02-07 8:07 ` Stelian Pop
2002-02-07 16:36 ` Linus Torvalds
2002-02-07 17:26 ` Larry McVoy
2002-02-07 19:46 ` Stelian Pop
2002-02-08 0:29 ` Andreas Dilger
2002-02-08 5:28 ` Troy Benjegerdes
2002-02-08 6:06 ` Larry McVoy
2002-02-08 6:14 ` Troy Benjegerdes
2002-02-08 6:49 ` Andreas Dilger
2002-02-07 10:50 ` Roman Zippel
2002-02-06 19:38 ` Pavel Machek
2002-02-06 23:06 ` Larry McVoy
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=200202080232.SAA09372@morrowfield.home \
--to=lord@regexps.com \
--cc=jaharkes@cs.cmu.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=lm@bitmover.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox