info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS Lock Files - what, where, when, how, etc.


From: Paul Sander
Subject: Re: CVS Lock Files - what, where, when, how, etc.
Date: Tue, 26 Feb 2002 10:56:27 -0800

>--- Forwarded mail from address@hidden

>Hello.  I have noticed several different kind of lockfiles that CVS
>seems to create (and sometimes leave laying around) and was hoping 
>someone could help me out on what they are used for, when are they 
>created, where they are created, and when are they removed.

>Here are the ones that I know about:

>LOCKDIRS
>   #CVS.LOCK - created when a file is being checked out.  
>               Any other time?  
>               Create din the lockdirs directory.
>               Once per operation?

This is created temporarily while an RFL/RFL lock is created.

>   RFL/WFL lock - created on every read (the rfl file) and write
>                  the wfl file?  
>                  Seems to be in the lockdirs only directory.  If
>                  I am not mistaken, these are files actually tied
>                  to the read or write processes.  Why do they get
>                  left around?

RFL files are shared (read) locks.  They're created during checkout,
update, log, and other read-only operations, and deleted when the
operations complete.

WFL files are exclusive (write) locks, and are created by commit, tag,
rtag, and other write operations, and are deleted when the operations
complete.

The locking algorithms are described in great detail in the CVS
documentation.  They get left behind when something extraordinary
happens that causes CVS to terminate early (e.g. kill -9, broken pipes
in *info scripts, and so on).

>   ,file, - every time file is updated in the repository, this
>            file is created in the directory the ,v file resides
>            in.  Destroyed (actually copied over ,v) at end of 
>            write operation.

These are RCS lock files.  Whenever the version history of a file
is modified (e.g. commit, tag, admin -k, and so on), a copy of the
,v file is made which is used as a lock.  The copy (the ,*, file) is
written with the necessary changes, and then renamed back to the
its original (,v) name when it's complete.

Again, these are left around only when something extraordinary happens.

>Any help you folks can provide is greatly appreciated.

>--- End of forwarded message from address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]