My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
CVS  
Using Gource with CVS projects
Updated Jan 12, 2011 by acaudw...@gmail.com

Using Gource with CVS projects

cvs2cl

cvs2cl is script that converts CVS log output into more useful formats, including XML, which Gource is able to read as of version 0.29:

cd my-cvs-project
cvs2cl --chrono --stdout --xml -g-q > my-cvs-project.xml
gource my-cvs-project.xml

cvs-exp

NOTE: support for cvs-exp is deprecated.

cvs-exp.pl is a tool which converts the CVS log output into a more conventional changes grouped together into chronological order that Gource knows how to read.

Assuming cvs-expl.pl is installed (and you have perl), you can generate a log from your CVS project and run in Gource by doing the following:

cd my-cvs-project
cvs-exp.pl -notree > my-cvs-project.log
gource my-cvs-project.log
Comment by ppopchik...@gmail.com, Nov 19, 2009

Could you post another location of cvs-exp? Because current link is broken.

Comment by project member acaudw...@gmail.com, Nov 19, 2009

I've updated the link to a locally hosted copy of the script. Thanks for pointing that out.

Comment by maximz...@gmail.com, Feb 9, 2010

Take two:

In Windows I had to:

  • install Perl (...of course)
  • edit cvs-exp.pl to change "/dev/null" to "nul"
  • convert the results to Unix line endings
Comment by chre...@gmail.com, Mar 19, 2010

I'm getting an error when I try to run gource on my cvs log.

gource: unsupported log format (you may need to regenerate your log file)

I downloaded cvs-exp from here, and I ran the command you stated above:

cvs-exp.pl -notree > logfile

Here's a sample of the logfile I get:

(date: 2008-09-12 08:37:50 -0500;  author: monkeyman;  state: Exp;  lines: +0 -0;  commitid: 123348ca70ae45
  | /cvsroot/project/include/component/Attic/file1.php,v:1.1.1.1,
  | /cvsroot/project/include/component/bin/file2,v:1.1.1.1,
  | /cvsroot/project/include/component/bin/file3,v:1.1.1.1,
  | /cvsroot/project/include/component/bin/file4.php,v:1.1.1.1,
  | /cvsroot/project/include/component/bin/file5.php,v:1.1.1.1,
  | /cvsroot/project/include/component/classes/file6.php,v:1.1.1.1,
  | /cvsroot/project/include/component/classes/file7.php,v:1.1.1.1,
  | /cvsroot/project/include/component/classes/file8.php,v:1.1.1.1,
  | /cvsroot/project/include/component/classes/file9.php,v:1.1.1.1,
  | /cvsroot/project/include/component/file10.php,v:1.1.1.1,
  | /cvsroot/project/include/component/file11.php,v:1.1.1.1,
  | /cvsroot/project/include/component/file12.php,v:1.1.1.1
  `----------------------------------------

I'm using version 0.26 of gource and the cvs-exp.pl from this site. Any ideas?

Comment by alejandr...@gmail.com, Apr 20, 2010

This script almost consumed my whole system memory. Be careful when running against a very big and old repository.

Comment by project member acaudw...@gmail.com, Apr 21, 2010

chrelad: normally there's a line with a 6 digit 'changeset' number (eg 000000:) before each commit, which doesn't appear in your log for some reason. Feel free to raise a bug.

Comment by chrisduf...@gmail.com, Aug 9, 2010

I can't seem to get CVS logs converted with cvs-exp.pl to work. I've tried maximzhao change to the script and dos2unix on the output, but still get the following..

gource: unsupported log format (you may need to regenerate your log file) Try 'gource --help' for more information.

Exmaple file with private stuff removed:

000000:
(date: 2005/10/12 15:01:47;  author: XXXXX\uXXXX1;  state: Exp;  kopt: kv;  commitid: 92c434d255a2439;  filename: XXXXXX.pl;)
  | /PATH_TO_FILES/XXXXXXX.pl,v:1.1,
  | /PATH_TO_FILES/YYYYYYY.pl,v:1.1,
  | /PATH_TO_FILES/ZZZZZZZ.pl,v:1.1
  `----------------------------------------

Comment 1

==============================================================================

000001:
(date: 2005/10/13 14:28:22;  author: XXXXX\pXXXs1;  state: Exp;  lines: +14 -5;  kopt: kv;  commitid: a34434e6f0558c7;  filename: YYYYYY.pl;)
  | /PATH_TO_FILES/YYYYYY.pl,v:1.2
  `----------------------------------------

Comment 2

==============================================================================

000002:
(date: 2005/10/13 15:23:07;  author: XXXXX\pXXXs1;  state: Exp;  lines: +18 -3;  kopt: kv;  commitid: d7c434e7bda02af;  filename: ZZZZZZ.pl;)
  | /PATH_TO_FILES/ZZZZZZ.pl,v:1.2
  `----------------------------------------

Comment 3

==============================================================================
Comment by project member acaudw...@gmail.com, Aug 12, 2010

Hi Chris.

There seem to be a couple problems. The backslash in the 'author:' names (though possibly that is just an artifact of pasting it here) and the lack of a 'lines: +N -N' entry on your first commit, which Gource assumes is there, though in fact doesn't do anything with it so I can probably just remove that check in the next version.

Cheers

Andrew


Sign in to add a comment
Powered by Google Project Hosting