git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bdowning@lavos.net (Brian Downing)
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Robin Rosenberg <robin.rosenberg.lists@dewire.com>,
	Gordon Heydon <gordon@heydon.com.au>,
	git@vger.kernel.org
Subject: Re: git cvsimport branches not consistent with CVS branches
Date: Sun, 8 Jul 2007 16:02:18 -0500	[thread overview]
Message-ID: <20070708210217.GE4087@lavos.net> (raw)
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

  parent reply	other threads:[~2007-07-08 21:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-08  0:45 git cvsimport branches not consistent with CVS branches Gordon Heydon
2007-07-08  5:45 ` Brian Downing
2007-07-08 10:53   ` Robin Rosenberg
2007-07-08 11:47     ` Johannes Schindelin
2007-07-08 12:22       ` Robin Rosenberg
2007-07-08 21:02       ` Brian Downing [this message]
2007-07-08 14:38     ` Steffen Prohaska
2007-07-09  4:31       ` Josh Triplett

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=20070708210217.GE4087@lavos.net \
    --to=bdowning@lavos.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gordon@heydon.com.au \
    --cc=robin.rosenberg.lists@dewire.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;
as well as URLs for NNTP newsgroup(s).