Re: CVS history access?

2009-04-27 Thread John Nielsen
On Saturday 25 April 2009 09:12:50 pm Giorgos Keramidas wrote:
 On Fri, 24 Apr 2009 05:35:34 -0400, John Nielsen li...@jnielsen.net 
wrote:
  I'm working on a machine learning project and I'd like to use the
  FreeBSD src CVS commit history as a datasource. Is there a
  resource-friendly way for me to download some or all of it? Format
  isn't too big an issue.
 
  I tried a few cvs history commands against the anoncvs servers but
  get this: cvs [history aborted]: cannot open history file:
  /home/ncvs/CVSROOT/history: No such file or directory

 Do you really want just the `CVSROOT/history' file?  We allow mirroring
 of the entire repository, which you can then use to extract any sort of
 historical commit data.  (Well, _almost_ anything.  Some things like
 repo-copies and renames of raw repository files have been done without
 any sort of record, so it may be impossible to recover *those*
 particular bits.)

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.

 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/?

Thanks!

JN
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-27 Thread Giorgos Keramidas
On Mon, 27 Apr 2009 11:23:32 -0400, John Nielsen li...@jnielsen.net wrote:
 On Saturday 25 April 2009 09:12:50 pm Giorgos Keramidas wrote:
 On Fri, 24 Apr 2009 05:35:34 -0400, John Nielsen li...@jnielsen.net
 wrote:
  I'm working on a machine learning project and I'd like to use the
  FreeBSD src CVS commit history as a datasource. Is there a
  resource-friendly way for me to download some or all of it? Format
  isn't too big an issue.
 
  I tried a few cvs history commands against the anoncvs servers but
  get this: cvs [history aborted]: cannot open history file:
  /home/ncvs/CVSROOT/history: No such file or directory

 Do you really want just the `CVSROOT/history' file?  We allow mirroring
 of the entire repository, which you can then use to extract any sort of
 historical commit data.  (Well, _almost_ anything.  Some things like
 repo-copies and renames of raw repository files have been done without
 any sort of record, so it may be impossible to recover *those*
 particular bits.)

 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

Yo should change `CHANGE_THIS' with the hostname of a CVSup mirror (a
full list can be found in the Handbook), and then point the local CVS
mirror directory from `/path/to/local/cvs/mirror' to the place you will
keep the mirror.

To pull over the CVS mirror files, you can then run:

# cvsup -g -L 2 supfile

Note that this will take quite some time if you are starting from an
empty mirror, and it may be a good idea to rerun cvsup 1-2 times after
it's done, to make sure you have the latest changes -- including any
changes that were committed between the time you started mirroring and
the time the first run was done.

FYI, my local copy of the repository uses around 4 GB today, so you
should plan to keep the mirror on a disk with at least this amount of
space (a few extra GB won't hurt either):

# du -sh /home/ncvs
4.0G/home/ncvs
#

 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.

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.



pgpray5r6lHUa.pgp
Description: PGP signature


Re: CVS history access?

2009-04-27 Thread John Nielsen
On Monday 27 April 2009 12:39:53 pm Giorgos Keramidas wrote:
 On Mon, 27 Apr 2009 11:23:32 -0400, John Nielsen li...@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
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-27 Thread Giorgos Keramidas
On Mon, 27 Apr 2009 15:03:30 -0400, John Nielsen li...@jnielsen.net wrote:
 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?

It's already part of 'svn log --xml' output if you use the -v option.
When you use -v *and* --xml at the same time, an additional element is
inserted to each changeset listing all the path changes:

  $ svn log -v --xml -c 191585 file:///home/svn/base
  ?xml version=1.0?
  log
  logentry
 revision=191585
  authorrpaulo/author
  date2009-04-27T18:59:40.453027Z/date
% paths
% path
%kind=
%action=M/projects/mesh11s/sys/net80211/ieee80211_output.c/path
% /paths
  msgAppend Mesh Configuration IE on probe responses and beacons.

  Sponsored by:   The FreeBSD Foundation
  /msg
  /logentry
  /log

I think the paths list of path changes is what you are after :)

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-27 Thread John Nielsen
On Monday 27 April 2009 03:29:03 pm Giorgos Keramidas wrote:
 On Mon, 27 Apr 2009 15:03:30 -0400, John Nielsen li...@jnielsen.net 
wrote:
  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?

 It's already part of 'svn log --xml' output if you use the -v option.
 When you use -v *and* --xml at the same time, an additional element is
 inserted to each changeset listing all the path changes:

   $ svn log -v --xml -c 191585 file:///home/svn/base
   ?xml version=1.0?
   log
   logentry
  revision=191585
   authorrpaulo/author
   date2009-04-27T18:59:40.453027Z/date
 % paths
 % path
 %kind=
 %   
 action=M/projects/mesh11s/sys/net80211/ieee80211_output.c/path %
 /paths
   msgAppend Mesh Configuration IE on probe responses and beacons.

   Sponsored by:   The FreeBSD Foundation
   /msg
   /logentry
   /log

 I think the paths list of path changes is what you are after :)

Exactly right. Thanks much!

JN

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-25 Thread Giorgos Keramidas
On Fri, 24 Apr 2009 05:35:34 -0400, John Nielsen li...@jnielsen.net wrote:
 I'm working on a machine learning project and I'd like to use the
 FreeBSD src CVS commit history as a datasource. Is there a
 resource-friendly way for me to download some or all of it? Format
 isn't too big an issue.

 I tried a few cvs history commands against the anoncvs servers but
 get this: cvs [history aborted]: cannot open history file:
 /home/ncvs/CVSROOT/history: No such file or directory

Do you really want just the `CVSROOT/history' file?  We allow mirroring
of the entire repository, which you can then use to extract any sort of
historical commit data.  (Well, _almost_ anything.  Some things like
repo-copies and renames of raw repository files have been done without
any sort of record, so it may be impossible to recover *those*
particular bits.)

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.



pgpYDpC9NfRqa.pgp
Description: PGP signature


CVS history access?

2009-04-24 Thread John Nielsen
I'm working on a machine learning project and I'd like to use the FreeBSD 
src CVS commit history as a datasource. Is there a resource-friendly way 
for me to download some or all of it? Format isn't too big an issue.

I tried a few cvs history commands against the anoncvs servers but get 
this:
cvs [history aborted]: cannot open history file: /home/ncvs/CVSROOT/history: 
No such file or directory

I'm not too experienced with cvs so if I'm missing something let me know. 
The Mailman archives for freebsd-cvs are one option, but I was hoping for 
more of a direct approach if possible.

Thanks,

JN
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-24 Thread Chuck Robey
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

John Nielsen wrote:
 I'm working on a machine learning project and I'd like to use the FreeBSD 
 src CVS commit history as a datasource. Is there a resource-friendly way 
 for me to download some or all of it? Format isn't too big an issue.
 
 I tried a few cvs history commands against the anoncvs servers but get 
 this:
 cvs [history aborted]: cannot open history file: /home/ncvs/CVSROOT/history: 
 No such file or directory
 
 I'm not too experienced with cvs so if I'm missing something let me know. 
 The Mailman archives for freebsd-cvs are one option, but I was hoping for 
 more of a direct approach if possible.


cvs log filename works, but I don't think that history has even been available
on any system I've ever had access to.  There's pretty good info available from
the cvs log command ... here's a few lines from cvs log Makefile from
usr/src/Makefile:

- 
revision 1.114
date: 2005/12/02 01:17:20;  author: deraadt;  state: Exp;  lines: +2 -2
do not enter lkm
- 
revision 1.113
date: 2005/09/16 12:28:34;  author: jmc;  state: Exp;  lines: +3 -2
use shell-neutral language (in a comment);

from ray lai;
ok krw@
- 
revision 1.112
date: 2005/01/09 20:36:20;  author: espie;  state: Exp;  lines: +12 -282
move cross-stuff into its own file.
okay mickey@, niklas@



 Thanks,
 
 JN
 ___
 freebsd-questions@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-questions
 To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknyMz0ACgkQz62J6PPcoOlbBACeLN3fD31obO7yEVTDnql8qQ+v
VnAAnAjt2yRDr1y+LHfErKgdUX/UcwtW
=Nzdn
-END PGP SIGNATURE-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: CVS history access?

2009-04-24 Thread Manolis Kiagias
John Nielsen wrote:
 I'm working on a machine learning project and I'd like to use the FreeBSD 
 src CVS commit history as a datasource. Is there a resource-friendly way 
 for me to download some or all of it? Format isn't too big an issue.

 I tried a few cvs history commands against the anoncvs servers but get 
 this:
 cvs [history aborted]: cannot open history file: /home/ncvs/CVSROOT/history: 
 No such file or directory

 I'm not too experienced with cvs so if I'm missing something let me know. 
 The Mailman archives for freebsd-cvs are one option, but I was hoping for 
 more of a direct approach if possible.

 Thanks,

 JN
   

It seems history is optional in CVS, and it does not exist (at least
anymore) in the FreeBSD CVS.



___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org