On Wed, 2006-04-05 23:36:32 -0700, Keith Packard <keithp@xxxxxxxxxx> wrote: > note, parsecvs remains available from: > > git://git.freedesktop.org/~keithp/parsecvs It now compiles out-of-the-box for me, nice work. However, it would be nice if you'd add a short description about how to use it. Something like this: --------------------------------------------------------------------- There's still a lot of work to do on parsecvs, but if you want to give it a run, first create a copy of the whole CVS tree and go to the base directory of this copy. (You find a lot of *,v files in this directory and all its subdirectories.) Now feed all ,v filenames into parsecvs. Keep in mind that a `edit-change-log' executable needs to be in your $PATH (a one-line script only exit'ing with 0 will do the job.): find . -type f -name '*,v' -print | parsecvs This will create the .git/ directory and put all the objects, commits and tree information into this new git repository. --------------------------------------------------------------------- I just ran it against a locally rsync'ed copy of the Binutils ,v files. Looging at the progress bar, it is bascally ready: Load: winsup/configure.in,v ....................* 27704 of 27704 But it seems it now starts to really consume memory: jbglaw@bixie:~/bin$ ps axflwww|egrep '(VSZ|parsecvs)'|grep -v grep F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 0 1000 15564 22879 18 0 2805084 549996 finish T pts/10 30:51 | \_ parsecvs How well does this work with even larger repositories? MfG, JBG -- Jan-Benedict Glaw jbglaw@xxxxxxxxxx . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Attachment:
signature.asc
Description: Digital signature