Fog Creek Software
Discussion Board




CVS and Metadata

Hello folks --

The recent thread on CVS motivated me to ask you guys for some guidance:  We came from the world of VSS, and have long since realized that it is not reliable for our repository.  So we have apparently turned to CVS due to its reliability.

Of course, as all of you know, it is definitely not user-friendly, despite WinCVS and TortoiseCVS's attempt to make things easier for us.

Is there a way to pull the metadata about the content of the repository without pulling the actual files?  Is there a way to pull the tagging information (as in -- "Oh, I forgot to tag this file" after doing a review of the tag's details?)  We have a repository in the gigabytes, and pulling everything to a local sandbox for every PCs on the team is not going to be very productive and efficient.

Finally, I would like to hear some alternative suggestion for a low-cost but high-reliable SCCM tool (preferably an one-time cost software solution, not annual fees -- which eliminates Perforce much to my sadness.)

T.J.
Tuesday, February 03, 2004

Do a search for CVSWeb. It's a web application that lets you browse your CVS repository. A lot of open source projects use it to let people see what's in CVS without going to the trouble of downloading the files.

CVSWeb doesn't replace a CVS client program. You use Tortoise or whatever for your actual checkouts, updates, and tagging, on a machine where you have a working copy. CVSWeb only supports read-only functions like diffs and looking at revision history, but you don't need a working copy of the source tree on your machine.

Beth
Tuesday, February 03, 2004

Actually ViewCVS[1] has pretty much supplanted CVSweb. ViewCVS is actively maintained and written in clean Python, while CVSweb is inactive and written in (IMO) bad Perl. ViewCVS is also a two-minute install, which should be the standard for tools like this.

[1] http://viewcvs.sourceforge.net/

Chris Winters
Tuesday, February 03, 2004

funnily enough, someone recently spotted (alledgedly) in the forums feeling sorry for their grades recently seems to have done an excellent review of just this subject:

http://www.osnews.com/comment.php?news_id=5858

i like i
Tuesday, February 03, 2004

Shlomi (in case you read this),

Your comparison http://better-scm.berlios.de/comparison/comparison.html is quite good. I wonder if you can add VSS and Vault to that chart? Also what about branching and merging capabilities?

coresi
Tuesday, February 03, 2004

maybe you are looking for
"-n
Doesn't change any files in the working copy or in the repository. In other words, the command is executed as a "dry run" - CVS goes through most of the steps of the command but stops short of actually running it.

This is useful when you want to see what the command would have done had you actually run it. One common scenario is when you want to see what files in your working directory have been modified, but not do a full update (which would bring down changes from the repository). By running cvs -n update, you can see a summary of what's been done locally, without changing your working copy.
"

from http://cvsbook.red-bean.com/cvsbook.html#Commands_And_Options

btw:
IMHO, wincvs if more friendly than sourcesafe.

redguard
Tuesday, February 03, 2004

I have to second the "don't use cvsweb if you can help it" post by Chris above.  Its very bad perl.  So bad, I think I might use it for a Software Engineering class I'm planning on putting together to teach the students about refactoring and version control.  (I'd get three birds with one stone, teach them about versioning and what it entails, get them to use versioning, and teach them to refactor and write clean code :)

Andrew Hurst
Tuesday, February 03, 2004

Thanks for the ViewCVS remark!  I am reviewing it right now.

As for someone mentioning the dry run -- I am sorry for not being clear for you:  I want to know what is on CVS to determine what to do next -- say, "I want to release this program, but I forgot which components are uploaded."

I am also a bit concerned with the relevation on the other links about not being able to rename the files.  Heaven knows that people around here can not type.

T.J.
Tuesday, February 03, 2004

you can rename in CVS, just not directly. (sophisticated method: duplicate the file in the repository and cvs remove the old version)

mb
Tuesday, February 03, 2004

*  Recent Topics

*  Fog Creek Home