[Top][All Lists]

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

RE: How to detect missing CVS directories

From: Arthur Barrett
Subject: RE: How to detect missing CVS directories
Date: Mon, 27 Feb 2012 01:16:29 +1100

Hi Arnon,

I find the whole 'CVS' directory thing annoying.  One day I'll make an
option to store it with a different name, or store it in a different
place - but of course that'll ruin backwards compatibility.  One reason
why we have the EntriesParser API in CVSNT - to try and get 3rd parties
to use an API to get to the CVS directory rather than 'assume' it's
'just there'.

Enough of my rant.

Change Management is a process.  You need to train your team in how the
tools work, and to follow the process.  Then you need to audit their use
of the tools and process.

Ie: this isn't your problem - make it theirs.  They wont accidentally
delete a CVS directory, if they are required to checkin code once a day
and you are auditing the checkin logs (a quick check through the commit
e-mails once or twice a day).  Make it simple - no commits, poor
comments, etc: no approval of timesheet.

If the developer accidentally deletes all of their code, how do they fix
that?  There is your answer to how to restore the missing 'CVS'
directories.  Ie:
* checkout the tree again, or
* restore from backup

But if you make this your problem to fix, you'll never hear the end of
it.  Compliance with company procedures is the developers



> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Arnon Weinberg
> Sent: Sunday, 26 February 2012 2:36 PM
> To: address@hidden
> Subject: How to detect missing CVS directories
> This problem seems like it should be common, but I haven't found it 
> posted anywhere.
> Developers may accidentally delete a CVS working directory 
> (ie, the one 
> with the Entries, Repositories, Root files), and not notice that they 
> have done so.  The cvs command just ignores those directories 
> from then 
> on, so they don't get updated.  When checking out / updating a large 
> tree, developers may not notice that this directory is then skipped.
> I modified a file, then simulated a missing CVS directory as follows:
>  >cd ~/directory/pwd
>  >mv CVS CVS.bak
>  >cvs checkout -A -d ~/directory module
> ...
> ? /home/user/directory/pwd
> ...
> Running cvs checkout (or cvs update) without errors or change flags 
> generally is assumed to mean that the tree is now up to date. 
>  However, 
> in this case, the directory is just skipped (cvs treats it 
> like any file 
> it doesn't recognize, even though it is in the repository), 
> and the tree 
> is not sync'ed.
> 1) How can missing CVS directories be detected?
> 2) How can they be restored / regenerated?
> Arnon Weinberg

reply via email to

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