Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Apr 2009 15:03:30 -0400
From:      John Nielsen <lists@jnielsen.net>
To:        freebsd-questions@freebsd.org
Cc:        Giorgos Keramidas <keramida@freebsd.org>
Subject:   Re: CVS history access?
Message-ID:  <200904271503.30531.lists@jnielsen.net>
In-Reply-To: <87ws963vae.fsf@kobe.laptop>
References:  <200904240535.37460.lists@jnielsen.net> <200904271123.32647.lists@jnielsen.net> <87ws963vae.fsf@kobe.laptop>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 27 April 2009 12:39:53 pm Giorgos Keramidas wrote:
> On Mon, 27 Apr 2009 11:23:32 -0400, John Nielsen <lists@jnielsen.net> 
wrote:
> > I'm basically looking for a list of all commits over the past N (>2)
> > years with committer, timestamp, affected file(s) and/or subsystems
> > and possibly diff size information, etc. I don't know anything about
> > the "history" file in particular other than that's what cvs
> > complained about when I tried the "cvs history" commands against
> > anoncvs. It looks like the /pub/FreeBSD/development/FreeBSD-CVS/src
> > ftp path may have what I'm looking for (though it may be scattered
> > through the individual files). I'll probably (try to) set up a local
> > CVS repo and source it from there and see where that gets me. My
> > CVS-fu is weak so I'm still open to pointers.
>
> There are online instructions for mirroring a full CVS copy, so it
> should be relatively easy to do that.  It mostly boils down to setting
> up the necessary disk space somewhere locally, installing one of the
> CVSup ports and configuring a `supfile' like this:
>
>     *default host=CHANGE_THIS.freebsd.org
>     *default base=/path/to/local/cvs/mirror
>     *default prefix=/path/to/local/cvs/mirror
>     *default release=cvs
>     *default delete use-rel-suffix
>     *default compress
>
>     cvs-all

Thanks! I had forgotten about the cvs-all target.

[additional helpful info snipped]

> >> We also have a Subversion repository now, that you can use to grab
> >> commit information.  It takes slightly more disk space than the CVS
> >> repository, but subversion can export XML formatted commit logs,
> >> which may be slightly more useful if you plan to automate parts of
> >> the parsing and info-gathering.
> >
> > Yes, I'll definitely be automating the parsing, etc. Is it safe to
> > assume that the cvs2svn migration went successfully? XML logs do
> > sound appealing and aggregated (same time, multiple files) commits
> > would be more useful than per-file. Can I just check everything out
> > from svn://svn.freebsd.org/base/?
>
> The conversion from CVS to Subversion was ``good enough'' from what I
> see in the svn commit logs.  So it may be a good idea to use `svnsync'
> to mirror the /base/ repository locally and take it from there.

I installed the subversion-freebsd port and pulled in "src" from "head". 
This lets me do e.g. "svn log -g --xml" locally and get an XML list of 
commits along the main (head/current) development line going back to 
1993.

For files changed with each revision I can do "svn diff -c 
NUM --summarize". Is there a way to get this information integrated with 
the "svn log" output short of running the command for each revision in 
the log output?

> The instructions for mirroring the Subversion repository are a bit more
> involved, but if you decide to go that way, let me know and I will
> write a short description of how to do it.

I checked out base/head and am in the process of checking out base/stable 
so I can get commit data from -STABLE branches as well. (I'll probably 
figure out when each branch (in CVS terms) was created and then use svn 
log to just get commits after that date for each branch). I don't know 
that I need to mirror the whole SVN repository but at this point I am 
planning on going the SVN route so if you have additional tips they would 
be appreciated. Thanks!

JN



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904271503.30531.lists>