Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta. developer.okta.com

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Is it possible to lock files with CVS?

I don't think this is possible, but since a co-worker asked - I'm relaying the question to you, the experts. Using CVS, it is possible to "checkout" a file for editing, and to lock it on the CVS server, so no one else can check it in. If this feature exists, I'd love to use it. Also, if anyone knows how to hookup sending e-mails for commits on a barebones CVS install, enlighten me. SourceForge makes it easy using synchmail, but Google doesn't even know about this tool - must be a SF script.

Update: Anthony has given me some good tips in the comments of this post. I've had some success in getting e-mail notification setup, but I'm still having some issues. To configure it, I checked out CVSROOT, and edited the loginfo file, adding the following line:

^project /usr/bin/mailx -c $USER -s "[cvs-commit] %{sVv}" me@company.com

When I get in a file, I get:

Checking in build.properties;
/export/home/cvsr/project/build.properties,v  <--  build.properties
new revision: 1.7; previous revision: 1.6
done
1.6... User unknown
1.7... User unknown
build.properties... User unknown
/export/home/mattra/dead.letter... Saved message in /export/home/mattra/dead.letter

I do receive the e-mail, but it's addressed to 1.6@cvsserver, 1.7@cvsserver, build.properties@cvsserver and me@company.com. I'm sure it's an easy fix, comments are appreciated.

Update 2: Our SysAdmin solved the e-mail issue with the following lines in loginfo:

^project /usr/bin/mailx -s '[cvs-commit] %{sVv}' me@company.com
^server_config /usr/bin/mailx -r me@company.com -s '[cvs-commit] %{sVv}' me@company.com

I'm no UNIX expert, so that's why I'm posting this here - that way I can use it the next time I need to set this up. Alternative approaches are welcome and encouraged!

Posted in Java at Feb 07 2003, 07:23:56 AM MST 6 Comments
Comments:

Matt, Check out this page: http://www.cvshome.org/docs/manual/cvs_10.html The short answer is yes, but the power of CVS is that you shouldn't have to lock, rather when you update and someone else has changed the file you are working on CVS will either a.) automatically merge the files or b.) warn of conflicts and allow you to make changes.

Posted by Anthony Eden on February 07, 2003 at 08:41 AM MST #

As for the email on commits, I found this on Google: http://www.durak.org/cvswebsites/howto-cvs/node39.html And this one: http://mail.gnu.org/archive/html/info-cvs/2001-03/msg00624.html By the way, which Google are you using - mine always gives me the correct result. ;-)

Posted by Anthony Eden on February 07, 2003 at 08:45 AM MST #

CVS doesn´t lock. And generally, that is a good thing, read http://svnbook.red-bean.com/book.html#svn-ch-2-sect-2.2 about problems with the lock-modify-unlock. That manual is from subversion, an alternative to CVS. It's sooo much easier than cvs! I heard at the mailing list that apache is considering a migration from cvs to a http://svn.apache.org repository.

Posted by Jano on February 07, 2003 at 10:31 AM MST #

Uh, try again Jano. The manual link I gave is from cvshome.org so I doubt it is for subversion. For a more direct link to the details on CVS lock try this. An excerpt: Currently the usual way to get reserved checkouts with CVS is the cvs admin -l command (see section A.6.1 admin options). This is not as nicely integrated into CVS as the watch features, described below, but it seems that most people with a need for reserved checkouts find it adequate. With respect to subversion, I doubt that Apache is going to go over to it anytime soon since it is not even at 1.0 yet. CVS has been around long enough to have the kinks worked out and I don't know about you but the thought of losing my source code because of the revision control system. Sincerely, Anthony Eden

Posted by Anthony Eden on February 08, 2003 at 01:51 PM MST #

Ok, I'll try again :-D The manual I was referring to is the link I posted on the paragraph above. I incorrectly said "CVS doesn´t look", well it can, I just think its wrong to have multiple developers with admin permissions. Subversion 1.0 is not scheduled yet (maybe july?). At work, we are doing backups twice-daily: export, build, junit, tar.gz. We didnt lost any data yet (yes, that 'yet' is frightening, we are betting on subversion here). As for the Apache migration, all I can tell is that I heard it at the subversion mailing list: http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=221599 That guy is Chairman for the Apache Software Foundation, so I think it was worth to mention.

Posted by Jano on February 09, 2003 at 09:18 AM MST #

Posted by 212.8.200.162 on November 21, 2007 at 08:52 AM MST #

Post a Comment:
  • HTML Syntax: Allowed