tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: is the proof in the pudding?



On Tue, Jul 29, 2008 at 04:39:49AM +0000, David Holland wrote:
> 
> But also note that successfully converting the repository to *any* of
> the changeset-based systems would be a big step forward.

I'm working on that; the lamentations yesterday drove me over the edge,
and now I have a little program that takes RCS files and bins the
changes by date into disk files.  Thus, only a single RCS file is kept
in memory at a time (and even this could be reduced, but there's little
point).  This takes a half hour for all of src on my little fileserver
(where, with four spindles and a 1 GHz VIA C3, it is not CPU-bound).

The bin size is currently one day, which works well enough.

The next step is to take each bin in turn, sort it by date, and then
collect the changesets.  This part is fairly standard as CVS-to-other
migration tools go, except that now only one bin's worth of data needs
to be worked on at a time.  (Yes.  It's a bucket sort with secondary
storage.  How terribly novel.)

And, of course, something has to do take the changesets, do "co -p" or
similar to extract the text, and do commits against the target VCS.

I'll let this escape once it gets to be more like something that could
actually be used.

-- 
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l))))))  (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k)))))))    '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))


Home | Main Index | Thread Index | Old Index