From: Andrea Arcangeli <andrea@suse.de>
To: Patrick McFarland <pmcfarland@downeast.net>
Cc: linux-kernel@veger.kernel.org, "Erik Bågfors" <zindar@gmail.com>,
"Tupshin Harper" <tupshin@tupshin.com>,
darcs-users@darcs.net, lm@bitmover.com,
linux-kernel@vger.kernel.org
Subject: Re: [darcs-users] Re: [BK] upgrade will be needed
Date: Sat, 19 Feb 2005 17:42:13 +0100 [thread overview]
Message-ID: <20050219164213.GB7247@opteron.random> (raw)
In-Reply-To: <200502190410.31960.pmcfarland@downeast.net>
On Sat, Feb 19, 2005 at 04:10:18AM -0500, Patrick McFarland wrote:
> In the case of darcs, RCS/SCCS works exactly opposite of how darcs does. By
> using it's super magical method, it represents how code is written and how it
> changes (patch theory at its best). You can clearly see the direction code is
> going, where it came from, and how it relates to other patches.
I don't know anything about darcs, I was only talking about arch. I
failed to compile darcs after trying for a while, so I give it up, I'll
try again eventually.
But anyway the only thing I care about is that you import all dozen
thousands changesets of the 2.5 kernel into it, and you show it's
manageable with <1G of ram and that the backup size is not very far from
the 75M of CVS.
I read in the webpage of the darcs kernel repository that they had to
add RAM serveral times to avoid running out of memory. They needed more
than 1G IIRC, and that was enough for me to lose interest into it.
You're right I blamed the functional approach and so I felt it was going
to be a mess to fix the ram utilization, but as someone else pointed
out, perhaps it's darcs to blame and not haskell. I don't know.
To me backup size matters too and for example I'm quite happy the fsfs
backend of SVN generates very small backups compared to bsddb.
> Sure, you can do this with RCS/SCCS style versioning, but whats the point? It
> is inefficient, and backwards.
It is saved in a compact format, and I don't think it'll run slower
since if it's in cache it'll be fast and if it's I/O dominaed the more
compact it is, the faster it will be, having a compact size both for the
repository and for the backup, is more important to me.
In theory one could write a backup tool that extracts the thing and
rewrite a special backup-backend that is as space efficient as CVS and
that can compress as well as CVS, but this won't help the working copy.
> Thats all up to how the versioning system is written. Darcs developers are
> working in a checkpoint system to allow you to just grab the newest stuff,
This is already available with arch. Infact I suggested myself how to
improve it with hardlinks so that a checkout will take a few seconds no
matter the size of the tree.
> and automatically grab anything else you need, instead of just grabbing
> everything. In the case of the darcs linux repo, no one wants to download 600
> megs or so of changes.
If you use arch/darcs as a patch-download tool, then that's fine as you
say and you can already do that with arch (that in this part seems
already a lot more advanced and it's written in C btw). Most people
just checking out the kernel with arch (or darcs) would never need to
download 600Megs of changes, but I need to download them all.
The major reason a versioning system is useful to me is to track all
changesets that touched a single file since the start of 2.5 to the
head. So I can't get away by downloading the last dozen patches and
caching the previous tree (which is perfectly doable with arch for ages
and with hardlinks as well).
> It may not even be space efficient. Code ultimately is just code, and changes
> ultimately are changes. RCS isn't magical, and its far from it. Infact, the
The way RCS stores the stuff compresses great. In that is "magical". I
guess SCCS is the same. fsfs isn't bad either though, and infact I'd
never use bsddb and I'd only use fsfs with SVN.
> The darcs repo which has the entire history since at least the start of 2.4
> (iirc anyways) to *now* is around 600 to 700.
> My suggestion is to convert _all_ dozen thousand changesets to darcs, and then
> compare the size with CVS. And no, darcs doesn't eat that much memory for the
What is the above 600/700 number then? I thought that was the conversion
of all dozen thousand changesets of linux-2.5 CVS to darcs.
> amount of work its doing. (And yes, they are working on that).
I'll stay tuned.
To me the only argument for not using a "magic" format like CVS or SCCS
that is space efficient and compresses efficiently, is if you claim it's
going to be a lot slower at checkouts (but infact applying some dozen
thousand patchsets to run a checkout is going to be slower than
CVS/SCCS). I know it's so much simpler to keep each patchset in a
different file like arch is already doing, but that's not the best
on-disk format IMHO.
Note that some year ago I had the opposite idea, i.e. at some point I
got convinced it was so much better to keep each patch separated from
each other like you're advocating above, until I figured out how big the
thing grows and how little space efficient it is, and how much I/O it
forces me to do, how much disk it wastes in the backup and how slow it
is as well to checkout dozen thousand patchsets.
For smaller projects without dozen thousand changesets, the patch per
file looks fine instead. For big projects IMHO being space efficient is
much more important.
next prev parent reply other threads:[~2005-02-19 16:42 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-14 2:08 [BK] upgrade will be needed Larry McVoy
2005-02-14 6:02 ` Matthew Jacob
2005-02-14 6:17 ` Adam Sulmicki
2005-02-14 9:49 ` Geert Uytterhoeven
2005-02-14 12:08 ` Bartlomiej Zolnierkiewicz
2005-02-14 15:08 ` Jeff Sipek
2005-02-14 15:40 ` Larry McVoy
2005-02-14 16:21 ` linux-os
2005-02-14 17:12 ` Larry McVoy
2005-02-16 23:55 ` Pavel Machek
2005-02-17 20:33 ` David Weinehall
2005-02-17 21:31 ` Chris Wright
2005-02-14 17:14 ` Marcin Dalecki
2005-02-14 17:23 ` Russell Miller
2005-02-14 17:49 ` Larry McVoy
2005-02-14 18:33 ` Marcin Dalecki
2005-02-14 18:47 ` Steven Rostedt
[not found] ` <20050214190137.GB16029@bitmover.com>
[not found] ` <1108415541.8413.48.camel@localhost.localdomain>
[not found] ` <20050214231148.GP13174@bitmover.com>
[not found] ` <1108425420.8413.78.camel@localhost.localdomain>
[not found] ` <20050215000028.GS13174@bitmover.com>
[not found] ` <1108426451.8413.84.camel@localhost.localdomain>
[not found] ` <20050215003535.GB32158@bitmover.com>
2005-02-15 1:00 ` Steven Rostedt
2005-02-15 3:01 ` Larry McVoy
2005-02-15 3:39 ` Steven Rostedt
2005-02-15 14:05 ` Alexandre Oliva
2005-02-14 19:29 ` Larry McVoy
2005-02-14 21:13 ` Erik Andersen
2005-02-14 18:17 ` Matthew Jacob
2005-02-14 18:36 ` Marcin Dalecki
2005-02-14 18:45 ` Matthew Jacob
2005-02-14 20:02 ` Matthias Andree
2005-02-15 5:13 ` Scott Lockwood
2005-02-14 18:56 ` Larry McVoy
2005-02-14 20:36 ` Adrian Bunk
2005-02-14 21:25 ` Paolo Ciarrocchi
2005-02-14 23:02 ` Henrik Persson
2005-02-14 21:30 ` Tom Felker
2005-02-15 9:04 ` James Bruce
2005-02-16 17:31 ` Jeff Sipek
2005-02-14 23:24 ` Marcin Dalecki
2005-02-15 3:35 ` Horst von Brand
2005-02-15 5:23 ` Hua Zhong
2005-02-15 12:19 ` kernel
2005-02-15 12:45 ` linux-os
2005-02-15 13:39 ` Helge Hafting
2005-02-16 9:45 ` Clemens Schwaighofer
2005-02-16 10:21 ` Catalin Marinas
2005-02-16 13:40 ` Schwaighofer Clemens
2005-02-16 15:39 ` d.c
2005-02-17 0:14 ` Clemens Schwaighofer
2005-02-16 15:43 ` Olivier Galibert
2005-02-16 17:01 ` Sean
2005-02-17 0:11 ` Clemens Schwaighofer
2005-02-17 4:57 ` Theodore Ts'o
2005-02-17 5:57 ` Sean
2005-02-17 6:22 ` d.c
2005-02-17 6:49 ` Sean
2005-02-17 16:34 ` Lee Revell
2005-02-17 16:40 ` Sean
2005-02-17 16:55 ` Chris Friesen
2005-02-17 16:58 ` Sean
2005-02-17 20:52 ` Horst von Brand
2005-02-17 21:24 ` Sean
2005-02-18 1:42 ` Horst von Brand
2005-02-18 7:52 ` Sean
2005-02-18 16:27 ` Theodore Ts'o
2005-02-18 18:34 ` Sean
2005-02-18 19:26 ` Dmitry Torokhov
2005-02-18 19:31 ` Sean
2005-02-18 19:46 ` John Stoffel
2005-02-18 19:49 ` Dmitry Torokhov
2005-02-18 19:57 ` Sean
2005-02-19 0:59 ` Horst von Brand
2005-02-18 20:45 ` d.c
2005-02-18 21:13 ` David S. Miller
2005-02-18 21:34 ` Anton Altaparmakov
2005-02-18 22:18 ` Vojtech Pavlik
2005-02-18 22:35 ` Dmitry Torokhov
2005-02-19 7:53 ` Anton Altaparmakov
2005-02-23 19:15 ` Bill Davidsen
2005-02-21 5:43 ` Miles Bader
2005-02-21 6:56 ` Dmitry Torokhov
2005-02-21 7:00 ` N/A Christof Dorner
2005-02-21 15:40 ` [BK] upgrade will be needed Kevin P. Fleming
2005-02-17 23:25 ` Ed Tomlinson
2005-02-17 23:32 ` Sean
2005-02-17 23:54 ` Lee Revell
2005-02-17 23:56 ` Sean
2005-02-18 4:00 ` Theodore Ts'o
2005-02-18 4:03 ` Clemens Schwaighofer
2005-02-18 7:26 ` Sean
2005-02-18 12:31 ` Ed Tomlinson
2005-02-18 0:29 ` Clemens Schwaighofer
2005-02-18 2:31 ` Horst von Brand
2005-02-17 7:55 ` Roland Kuhn
2005-02-17 8:09 ` Clemens Schwaighofer
2005-02-17 9:27 ` Roland Kuhn
2005-02-17 10:27 ` Sean
2005-02-18 0:32 ` Clemens Schwaighofer
2005-02-14 18:54 ` Juergen Stuber
2005-02-14 20:13 ` Matthew Dharm
2005-02-14 20:17 ` Matthias Andree
2005-02-15 17:26 ` Juergen Stuber
2005-02-15 2:46 ` Tristan Wibberley
2005-02-15 13:24 ` Tristan Wibberley
2005-02-14 19:44 ` Matthias Andree
2005-02-14 20:05 ` Larry McVoy
2005-02-14 22:24 ` Gerold Jury
2005-02-14 22:57 ` Larry McVoy
2005-02-14 23:23 ` David Lang
2005-02-15 0:03 ` Larry McVoy
2005-02-15 1:23 ` David Lang
2005-02-15 16:34 ` Olivier Galibert
2005-02-14 23:29 ` Gerold Jury
2005-02-15 13:55 ` Alexandre Oliva
2005-02-15 16:57 ` Alan Cox
2005-02-17 0:00 ` Pavel Machek
2005-02-17 1:41 ` Alexandre Oliva
2005-02-17 9:46 ` Geert Uytterhoeven
2005-02-17 12:36 ` Pavel Machek
2005-02-17 14:07 ` Citizen Number 24655
2005-02-17 15:05 ` Theodore Ts'o
2005-02-17 16:27 ` Florian Weimer
2005-02-18 8:32 ` Andrea Arcangeli
2005-02-15 2:13 ` Ed Tomlinson
2005-02-15 2:40 ` Larry McVoy
2005-02-15 3:04 ` Paul Jackson
2005-02-15 12:41 ` Ed Tomlinson
2005-02-15 13:56 ` Alexandre Oliva
2005-02-15 14:55 ` Anton Ertl
2005-02-14 13:13 ` Mws
2005-02-14 15:03 ` Steven Rostedt
2005-02-14 16:00 ` Larry McVoy
2005-02-14 17:21 ` Marcin Dalecki
2005-02-15 12:13 ` kernel
2005-02-16 23:46 ` Pavel Machek
2005-02-18 8:56 ` Andrea Arcangeli
2005-02-18 2:05 ` Patrick McFarland
2005-02-18 2:24 ` [darcs-users] " Tupshin Harper
2005-02-18 2:33 ` Sean
2005-02-18 9:09 ` Andrea Arcangeli
2005-02-18 10:58 ` Tomasz Zielonka
2005-02-18 11:53 ` Erik Bågfors
2005-02-18 12:50 ` Andrea Arcangeli
2005-02-19 9:10 ` Patrick McFarland
2005-02-19 10:17 ` Sean
2005-02-19 16:42 ` Andrea Arcangeli [this message]
2005-02-19 17:15 ` David Roundy
2005-02-19 17:53 ` Andrea Arcangeli
2005-02-21 12:41 ` David Roundy
2005-02-21 18:33 ` David Brown
2005-02-21 13:48 ` Patrick McFarland
2005-02-20 10:36 ` Ralph Corderoy
2005-02-18 17:50 ` Dustin Sallings
2005-02-21 5:39 ` Miles Bader
2005-02-21 15:53 ` Andrea Arcangeli
2005-02-21 19:45 ` zander
2005-02-21 20:27 ` Horst von Brand
2005-02-23 17:14 ` Andreas Gruenbacher
[not found] <fa.g6qsmpt.131ka8d@ifi.uio.no>
[not found] ` <fa.i74fd0g.1j44204@ifi.uio.no>
2005-02-22 1:04 ` walt
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=20050219164213.GB7247@opteron.random \
--to=andrea@suse.de \
--cc=darcs-users@darcs.net \
--cc=linux-kernel@veger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm@bitmover.com \
--cc=pmcfarland@downeast.net \
--cc=tupshin@tupshin.com \
--cc=zindar@gmail.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