[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Remote cvs2svn

From: Daniel Berlin <dberlin_at_dberlin.org>
Date: 2002-12-04 07:51:17 CET

On Mon, 2 Dec 2002, Greg Stein wrote:

> I'll strongly second Daniel's points here. cvs2svn was built entirely with
> the idea of having the ,v files available for reading.
>
> On Mon, Dec 02, 2002 at 04:38:14PM -0500, Daniel Berlin wrote:
> > On Mon, 2 Dec 2002, Blair Zajac wrote:
> > > In looking at cvs2svn, it appears to only work on CVS repositories
> > > that you have a copy of.
> > >
> > > For projects that it's not easy to get hold of to CVS repository,
> > > it would be useful to have cvs2svn work on remote repositories
> > > (i.e. via :pserver:).
> > >
> > > How easy/hard would this be?
> >
> > Impossible.
> > Well, I guess it's not technically impossible, but it would be slower than
> > molasses and hard on the server.
>
> No, actually I believe it *is* technically impossible. IIRC, the "cvs log"
> output does not fully detail the revision graph when branches are present.
Yes it does.
At least, you can get it to do so.

Try cvs log -D "30 years ago <= today" on a file.

You can build the graph in reverse from this info, since the revisions
that are the base of a branch will look like:
----------------------------
revision 1.668
date: 2002/08/14 06:36:51; author: neil; state: Exp; lines: +27 -32
branches: 1.668.2; 1.668.4;
        * toplev.c (parse_options_and_default_flags): Don't call
        post_options here.
        (general_init): Initialize GC, pools and tree hash here,
        instead of lang_independent_init.
        (lang_independent_init): Rename backend_init.
        (do_compile): Call post_options hook; exit early if there
        have been errors after switch processing.
        (toplev_main): Update.

Unless i'm reading the source wrong, you will always see the log entries
for the revision that starts the branch before you see the log entries
*for* the branch, too.

> It isn't always possible to determine the predecessor revision in certain
> cases. And especially if somebody forces specific revision numbers -- you
> can't just say "1.(rev-1)" to figure out the predecessor.

No, but you can always figure out the successor explicitly if you wanted
to.

cvs log -r<revision>::, and it's the last thing it prints out.

I looked at the source to cvs between saying it was impossible, and not
technically impossible.

I'm pretty sure it isn't technically impossible, but I wouldn't want to
have to hold my breath waiting for it to finish.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 4 07:52:06 2002

This is an archived mail posted to the Subversion Dev mailing list.