There are also other tools to create subversion revision graphs, but at the time of this writing all other known tools are built in features in some graphical development environment. As stand-alone tools svn2cvsgraph and CvsGraph are usable from automatic scripts and cron jobs.
Svn2cvsgraph has been tested on Linux and probably also works fine in other POSIX compatible environments. It might even work on Windows if compiled with MinGW and/or Cygwin, but at the time of this writing svn2cvsgraph has not yet been tested in Windows.
From the README:
1. General ---------- This program makes cvsgraph useful also for subversion repositories, the latest version is available for download from http://svn2cvsgraph.sourceforge.net/ 2. Installation --------------- Step 1, unpack the archive: tar -xzvf svn2cvsgraph*.tar.gz Step 2, compile: cd svn2cvsgraph* make Step 3, become root and install su (and give password) make install 3. Usage ----------- As svn2cvsgraph calls svn the command svn must be installed in the PATH. Also cvsgraph should be installed as the purpose of this program is to generate an input file for cvsgraph. First svn2cvsgraph is used to create a file readable by cvsgraph, then cvsgraph is used to create the graph. There are some examples of usage in the man page for svn2cvsgraph. 4. Documentation ---------------- There is a man-page for svn2cvsgraph, and you will get some help by typing: svn2cvsgraph -h 5. Known problems ----------------- The created rcs file is not fully cvs compatible, it is only good enough to be read by cvsgraph. No log messages are saved so %L is not useful in cvsgraph. It might take many hours to complete the conversion of a subversion repository with hundreds of thousands of revisions, please have patience! With only a few thousand revisions svn2cvsgraph will be done in seconds, the time required grows exponentially with the number of revisions. This program was originally written to present a subversion repository with less than 10000 revisions, most likely the graph created by cvsgraph for a repository with more revisions is not very useful anyway. Care should be taken when commiting changes, tagging, branching, merging and deletion of tags and branches. Unless only one merge, one branch or one tag is done for each commit the presented result might not be exactly what you want. Each svn revision can only be represented in one box in the created graph. Also branches should contain the entire trunk, not only some subdirectory. The svn subversion client as well as the repository must be of at least version 1.5 for merges to be tracked. If the subversion repository is upgraded from a lower version than 1.5 only merges after the upgrade was done will be tracked.
|Software||Commands for svn2cvsgraph and cvsgraph||Time needed for svn2cvsgraph||Result (click for entire image)|
|MPlayer||svn2cvsgraph -r svn://svn.mplayerhq.hu/mplayer > /tmp/mplayer,v||30 sec||780x1655 pixels|
|cvsgraph -r/tmp -m. mplayer,v -o /tmp/mplayer.png -O'strip_untagged=true;' -O'rev_hidenumber=true;' -O'merge_to="^B__merged_%1$";' -O'merge_from="^(.*)";' -O'tag_ignore="^B__merged_(.*)";' -O'tag_ignore_merge=true;'|
|PuTTY||svn2cvsgraph -r svn://svn.tartarus.org/sgt -m /putty -b '' > /tmp/putty,v||1 min 42 sec||3349x1397 pixels|
|cvsgraph -r/tmp -m. putty,v -o /tmp/putty.png -O'strip_untagged=true;' -O'rev_hidenumber=true;'|
|PHP||svn2cvsgraph -r http://svn.php.net/repository/php/php-src -m /php/php-src/trunk -b /php/php-src/branches -t /php/php-src/tags > /tmp/php,v||1 hour 21 min 40 sec||2598x17931 pixels|
|cvsgraph -r/tmp -m. php,v -o /tmp/php.png -O'strip_untagged=true;' -O'rev_hidenumber=true;' -O'merge_to="^B__merged_%1$";' -O'merge_from="^(.*)";' -O'tag_ignore="^B__merged_(.*)";' -O'tag_ignore_merge=true;'|
svn2cvsgraph 1.2 Copyright (C) 2010-2012 Henrik Carlqvist Usage: svn2cvsgraph [OPTION]... Options: -h Shows this help -r
From the CHANGELOG:
Date Version Comment ---------------------------------------------------------------------------- 28/12 2013 2.0 Now making one call to svn for each branch to extract merge info in a way compatible with svn version 1.6.17 and newer. 3/3 2012 1.2 No longer allowing CVS HEAD to be placed on a tag on main trunk, this is a bug-fix to avoid hidden versions above head on main trunk. 19/2 2012 1.1 Now also detecting branches created with "svn copy --parents" 11/12 2010 1.0 Modifying tags names containing only numbers as cvsgraph does not allow such tag names 28/3 2010 0.9 First public release
Current stable version is 2.0, it is available from SourceForge download. The md5sum of svn2cvsgraph-2.0.tar.gz is fabb869017a16a17bc3439262746ed85
Version 1.2 is available from SourceForge download. The md5sum of svn2cvsgraph-1.2.tar.gz is 9b49ff42026e88656bf9c500b18f5704
Version 1.1 is available from SourceForge download. The md5sum of svn2cvsgraph-1.1.tar.gz is b0db93bc8808524bd0a2276af544cf4a
Version 1.0 is available from SourceForge download. The md5sum of svn2cvsgraph-1.0.tar.gz is c466c44848dedfb46db7a5054b521f1a
First public version was 0.9beta, it is available from SourceForge download. The md5sum of svn2cvsgraph-0.9.tar.gz is 33993d7f76640e3e5b1a771f3668b08e
To use svn2cvsgraph you will also need cvsgraph, version 1.7.0 is available from SourceForge download or get the latest version from CvsGraph official web-site
|CvsGraph||An excellent tool for creating revision graphs.|
|Subversion||A powerful version control system|