[cvsnt] Re: forcing a text file at "non-mergable"

Gerhard Fiedler lists at connectionbrazil.com
Fri Dec 2 19:47:18 GMT 2005


Mark Johnson wrote:

> We have a couple of text files (xml) which are generate by different
> development tools (iLOG and InstallAnywhere) which are not mergable. 
> Is there a way to define these as non-mergable.  We do not want an
> update to attempt to merge these files.  I realize that this is the
> default for binary files, but these are not binary.
> 
> We do not use reserved edits, and do not have "watch on" on the
> repository.  Can we still set a specific file as "force reserved
> edit"?  If so, does this force a developer to do a reserved edit
> before they can commit the file?

The problem is that without generally working with read-only files (watch
on) and the cvs edit command, the files will be read-write, and people do
not let the server know before they start working on a file. So the cvs
server has no means to prevent that.

It depends a bit on what you want. You probably can prevent commits (not
sure about that), but you can't prevent people working on a file. For me,
it's not so much the commit (that also), but the working concurrently on a
file that should not be worked on concurrently that should be prevented.
(Otherwise, the only thing that you would prevent is the commit from the
one who forgot to cvs edit the file. But at the time he realizes this, he
may have lost 3 days of work...)

Concurrent work on non-mergeable files can only be prevented through
communication between team members. They need to know who works on such
files, so that they can avoid working on one that's being worked on by
others. "Watch on" is IMO the proper mechanism, if you need that. It still
keeps the C in CVS (you still can work concurrently on files), but it adds
another C for Communication (now you tell everybody before you start
working on a file). 

Running a cvs edit (whether exclusive or not) signals to the team that you
are working on a file. If that file can be worked on concurrently, it's
still helpful to get the message during the cvs edit ("ah, Carl is working
on x - let's check with him what he's up to"). If not (and it has the
appropriate option set), it helps enforcing that only one at a time works
on it.

Gerhard



More information about the cvsnt mailing list