git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Fixes to parsecvs

From
Keith Packard <keithp@keithp.com>
Date
Apr 6, 2006, 14:48 UTC
Message-ID
<1144334896.2303.259.camel@neko.keithp.com>
In-Reply-To
<20060406120812.GO13324@lug-owl.de>
On Thu, 2006-04-06 at 14:08 +0200, Jan-Benedict Glaw wrote:
Show 6 quoted lines
> On Wed, 2006-04-05 23:36:32 -0700, Keith Packard <keithp@keithp.com> wrote:
> > note, parsecvs remains available from:
> > 
> > 	git://git.freedesktop.org/~keithp/parsecvs
> 
> It now compiles out-of-the-box for me, nice work.
cool
> 
> However, it would be nice if you'd add a short description about how
> to use it. Something like this:

I'd rather just fix the usage to be more sane; that shouldn't take but a few minutes...

Show 5 quoted lines
> 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

Now all of the ,v files have been parsed and each revision placed in the .git repository as a blob.

> But it seems it now starts to really consume memory:

Yeah, it's doing the change set computation, which is not very space efficient; it computes the entire set of files at each commit which can take 'a bit' of space with a large number of files over a long period of time. Obviously computing revision deltas and saving those would make it use a lot less 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

I'd run a large repository on a large machine; I managed to get postgresql to run on my laptop (615M CVS with 6000 files), but anything larger I'd probably want to get it onto a big enough machine. The question is whether it needs to be more efficient so that people can constantly convert repositories or whether moving the repository to a sufficiently large machine for the one-time conversion is 'good enough'.

> How well does this work with even larger repositories?

postgresql is the largest I've run; starting with a 615M CVS repository, it built a 1.7G .git tree, which packed down to 125M.

-- 
keith.packard@intel.com
Previous: Jan-Benedict GlawNext: Johannes Schindelin
Message 3 of 13 in “Fixes to parsecvs”
  1. Keith PackardApr 6, 2006
  2. Jan-Benedict GlawApr 6, 2006
  3. Keith PackardApr 6, 2006
  4. Johannes SchindelinApr 6, 2006
  5. Jan-Benedict GlawApr 6, 2006
  6. Keith PackardApr 6, 2006
  7. Francois RomieuApr 9, 2006
  8. Jim RadfordApr 6, 2006
  9. Keith PackardApr 6, 2006
  10. Martin LanghoffApr 6, 2006
  11. Keith PackardApr 6, 2006
  12. Martin LanghoffApr 6, 2006
  13. Keith PackardApr 7, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.