[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
responsibility.
Regards,
Arthur
> -----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
> www.back2front.ca
>
>
>
>