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

Re: git cvsimport branches not consistent with CVS branches

From
Brian Downing <bdowning@lavos.net>
Date
Jul 8, 2007, 21:02 UTC
Message-ID
<20070708210217.GE4087@lavos.net>
In-Reply-To
<Pine.LNX.4.64.0707081246040.4248@racer.site>
On Sun, Jul 08, 2007 at 12:47:16PM +0100, Johannes Schindelin wrote:
> The only problem is that it is a misnomer: it is not fromcvs, but
> fromrcs, since you have to have access at the _files_. This is not
> always possible.

For the problem space I'm interested in (a /fast/ incremental CVS importer) I think access to the RCS files is a must. You can use inode signatures to know which files you have to look at at all since the last run, and you can abort your parse at the end of the delta section if no new revisions appeared (rather than continuing to parse the deltatext section, the largest part of the file).

For the repository I'm interested in (work), running a "real" cvs update takes two or three minutes on a LAN. Running a full rlog takes about 10 or so. With the tricks above, I can import a single file change in seconds instead. (That includes the time to rsync the CVS repository to my local mirror.)

Granted, though, not everyone can get access to the RCS files.

(The name's not really a misnomer though. There's tons of CVS-specific crap you have to deal with in the RCS file to successfully import it -- magic branch revision symbols, horrible vendor branch behavior, etc.)

I will try fromcvs; I hadn't looked at it, since from the documentation it looked like it wasn't incremental.

-bcd
Previous: Robin RosenbergNext: Steffen Prohaska
Message 6 of 8 in “git cvsimport branches not consistent with CVS branches”
  1. Gordon HeydonJul 8, 2007
  2. Brian DowningJul 8, 2007
  3. Robin RosenbergJul 8, 2007
  4. Johannes SchindelinJul 8, 2007
  5. Robin RosenbergJul 8, 2007
  6. Brian DowningJul 8, 2007
  7. Steffen ProhaskaJul 8, 2007
  8. Josh TriplettJul 9, 2007

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.