Developer Tools Blog

Evolphin, Version Control, Visual Workflow, Collaboration software, Version Cue, Subversion

Howto get CVS user name inside a CVS Loginfo trigger

March 5th, 2007 by rahul

THE PROBLEM

CVS allows you tp specify a run-as user-name in the CVSROOT/passwd file. So for example if we use the following syntax in CVSROOT/passwd file:

john:12$2#&65:cvsadmin
greshim:ac2$2#&65:cvsadmin

The above tells the CVS server to launch/fork the CVS process with the effective user-id as ‘cvsadmin‘ instead of say CVS user ‘john‘ who may have executed the commit command. This allows the CVS administrator to maintaina separation between system user and the CVS user. It allows the admin to avoid polluting UNIX file level permissions inside the CVSROOT.

However the problem is how does a CVS trigger like Loginfo get hold of the actual CVS user on whose behalf the run-as user is executing the CVS command ? If the trigger script uses ‘whoami’ to query the user it would get the effective user-id like ‘cvsadmin’ instead of ‘john’.

THE SOLUTION

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »

Subversion Network Protocol De-constructed

March 25th, 2006 by rahul

So I have been chewing the FUD on Subversion site lately. Now don’t get me wrong I think Subversion has many a positives going for it (more on this latter) but what beats me is the following – for an SCM whose sole objective was to be a replacement for CVS, how can it regress on things that CVS does well (I am not making this up see – http://subversion.tigris.org/faq.html#why :

Read the rest of this entry »

Posted in Software Configuration Management, Subversion | No Comments »

Fix for CVS Keyword Expansion Bug

October 28th, 2005 by rahul

This bug and a proposed patch was submitted to the CVS community by me. It ran into religious hurdle w.r.t keyword storage in SCM repository, it has not yet been accepted by the CVS community but nevertheless has been available for download. Here is the original submission by me:

THE PROBLEM
The cvs server will automatically (or, more accurately, as part of the update run that automatically happens after a commit) expand valid keyword strings in a text file as part of the commit operation. In other words it is the responsibility of the ‘server-side’ of cvs to fill in the appropriate values for the RCS keywords.

Currently where this breaks down is when the end-user modifies the content of the RCS keywords. For example, let’s say a file contains:

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »

CVS zlib.c implementation in 1.12.13 broken

October 21st, 2005 by rahul

This bug was submitted to the CVS community by me and fairly quickly fixed. Here is the original submission:

The cvs1.12.13 tree’s zlib.c has compatability problems with several Java based cvs clients – SmartCVS, WANdisco, JetBrains Ideaj etc. This manifests via cvs commands will hang for some files. See the bundled test file (add.c from cvs src dir)

We have tested with cvs1.11 tree right upto 1.11.21 and has no problems interoperating with the cvs server’s zlib implementation.

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »