|
CvsGraph
A CVS/RCS repository grapher
|
|
Contents:
Introduction
CvsGraph is a utility to make a graphical representation of all revisions and
branches of a file in a CVS/RCS repository. It has been inspired by the 'graph'
option in WinCVS, but I could not find a
stand-alone version of this graph code. So, it was time to write one.
Where to get it
The source-code:
Older version can be downloaded here.
The source of CvsGraph can be found at GitLab at
https://gitlab.com/bertho/cvsgraph/.
Yes, I know, the irony is not lost on me. Times change and and we move on.
CvsGraph in action
An example
Command-line used (with default cvsgraph.conf) with source t.c,v:
./cvsgraph -O'merge_from="^source_(.*)"; merge_to="^merge_%1$"; merge_color="#e00000"' \
-O'merge_from="^source2_(.*)"; merge_to="^merge2_%1$"; merge_color="#00e000"' \
-O'strip_untagged=1; strip_first_rev=0; transparent_bg=1' \
-o ../t.png -r. -m. ../t.c,v
More info
License
CvsGraph is published under GNU General Public License v.2. For more information on GPL
visit the GNU website.
FAQ
Moved to old FAQ
Bugs
- Images can still be very large when you have many revisions and
branches. You can reduce imagesize by using any combination of these options:
strip_untagged |
Reduce the number of revisions shown that have no tags |
strip_first_rev |
rev_maxtags |
Reduce revision boxes by limiting the number of tags shown |
tag_ignore |
Remove tags that match a regular expression |
rev_hidenumber |
Do not display the revision number in revision boxes (and branch boxes) |
branch_fold |
Fold all branches without revisions into one branch-box |
branch_foldall |
branch_subtree |
Only show parts of the tree |
Changes
Changes for 1.7.2
- Make config option rev_hidenumber function properly for branch boxes (see issue report)
- Also apply rev_hidenumber to folded branch boxes
Changes for 1.7.1
- Update cvsgraph after 11 years and relocate home after the original server
went the way of dead Dodo bits (may its bytes zero in peace).
- update autotools version
- fix two printf format warning and unused var warning
- use pkg-config for libgd and freetype
- fix web and mail references
- still being amazed of the portability and surviving 10+ years bitrot
- bump the version to 1.7.1
Changes for 1.7.0
- Do a better job at drawing the merge lines by selecting the shortest path
from the revision boxes. An analysis is now done whether the source and
destinations should be on the left or right side.
- Fix the left_right case for merge lines to display correctly.
- Fix a +/-1 error on the merge lines to account for both rounding errors and
the shadow of the revision boxes.
- Add configuration option 'merge_on_tag' to force the left_right case to
display merge lines on the tags instead of on the top/bottom sides. This also
solves imagemap overlaps where multiple sources or destinations would be
displayed at the same position.
- Fix the imagemap function to record the correct position of the merges.
- Use automake
- Streamline the package with patches from the Fedora RPMS
Changes for 1.6.2
- Imagemap bugfix
- Never released
Changes for 1.6.1
- Minor textual fixes in the config manual page
- Do a better job at drawing merge lines. Ugly cross over lines could be
generated if branches had the same parent. Now they are moved to the right
(or bottom)
Pre 1.6.1 changes
Links
Acknowledgements
- Many thanks to Jason Corley for the RPM spec-file
- Thanks to Russell Yanofsky and Chris Bridges (cvsgraph at rfel dot com) for the windows binaries.
Please see http://www.cvsnt.org/wiki/CvsGraphMingw
for details if you want to compile a windows binary. I do not know anything about it.
- Thanks to all others who contributed bugreports and patches which I
probably have mentioned in a log or other places. Mail me if your ego is big
enough to want a place on the frontpage ;-)
- * The icon used is shamelessly taken from the ViewCVS distro,
file cvsgraph_16x16.png. I cannot find any reference to the original creator,
otherwise I would gladly credit him or her personally.
Mailnote
As of 20 August 2005, if you send me an email with a contained or attached
disclaimer that includes one or more of the following items:
- legal notice or threat(s)
- disclosure restriction(s)
- forward restriction(s)
- "intended recipient" nonsense
Then you automatically agree to pay me a license fee of DKK 1000,- for using my
email address and a DKK 250,- fee for wasting my time on reading it.
|