STATCVS provides an in-depth look at CVS repository activity

Source: Internet
Author: User
Tags command line versions

Introduction: StatCVS is a handy tool for creating a concurrent version system (Concurrent versions System-cvs) repository activity diagram. In this article, developer Tom Copeland will explain how to install, run StatCVS, outline the reports that are generated, and then describe how to generate reports for multiple repositories, StatCVS Insider and limit, and more.

If you're going to take on a software project that has been running for years, how do you get to know about the history of the project development? The best approach may be to talk to developers who have been involved in the project, but it's easy to say and difficult to do. The original developers are usually transferred to other projects, and it's hard to find them. You can view the release frequency, although this may be controlled by a non-technical mandatory rule (sometimes just for "we want to make a release at the end of this fiscal year"). You can view bugs and feature request trackers, and you can also mine information in open and closed bug discussions. Or you can go directly to the source code history and use tools such as StatCVS to see which records have been made and who modified them. I've been using StatCVS on a variety of big projects for years now, and it's been a good report for a long time. In this article, you will demonstrate how to set up, run StatCVS on a project, read the reports it generates, and where StatCVS needs to improve.

Install StatCVS

StatCVS is a Java program that requires support from JDK 1.4 or later. Installing StatCVS from the command line is easiest: Just download the latest release (see Resources) and extract it into a directory; I use the/usr/local/statcvs/directory. And, as shown in Listing 1, I also created a symbolic link called Statcvs, which is linked to the version that was just installed. This saves some typing time in the future, and more importantly, you can switch between different versions of StatCVS as long as you change the symbolic link to point to the version you want to use.

Listing 1. Symbolic links for StatCVS

[root@hal local]# pwd
  /usr/local
  [root@hal local]# ln -s statcvs-0.2.2 statcvs
  [root@hal local]# ls -l | grep statcvs
  lrwxrwxrwx  1 root   root      13 Jan 13 14:27 statcvs -> statcvs-0.2.2
  drwxrwxr-x  2 root   root      4096 Oct 13 23:32 statcvs-0.2.2
  -rw-rw-r--  1 tom   tom     1344753 Jan 13 13:49 statcvs-0.2.2.zip

If you list the files in the Statcvs directory, you can see that there are no support jar files (supporting jar file) that apply to Statcvs. The only JAR file is Statcvs.jar, which contains the only Third-party library that Statcvs uses: Jfreechart. This approach makes it easier to start understanding StatCVS because there is no need for more knowledge about classpath.

Run StatCVS

To demonstrate how StatCVS works, you need to find a project with an interesting CVS history and generate some activity reports. DeveloperWorks's Project Jikes (see Resources) has been in place for a while, with a large number of developers and a common CVS repository, so it's a good example.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.