info-cvs
[Top][All Lists]
Advanced

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

Re: add hook question (was Re: Problem with importing third-party source


From: Greg A. Woods
Subject: Re: add hook question (was Re: Problem with importing third-party sources and adding/committing changes)
Date: Thu, 18 Nov 2004 13:47:54 -0500 (EST)

[ On Thursday, November 18, 2004 at 10:38:44 (-0500), Derek Robert Price wrote: 
]
> Subject: Re: add hook question (was Re: Problem with importing third-party 
> sources and adding/committing changes)
>
> Perhaps a -C option to `cvs add' similar to `cvs edit', where -C can
> be placed in the user's .cvsrc for the add command and the add will
> not be allowed unless the server contact and verification is successful.

Which of course is an extremely stupid way to implement something that
is done for the sole and lone reason of policy enfocement.   ;-)

It would be saner and safer and much Much MUCH simpler to just write a
wrapper script for the CVS client and require (through external security
measures, such as peer pressure and/or threat of dismisal) that everyone
always use the wrapper script.

Remember the very strongest bit of advice for using CVS is to "update"
and to "commit" early and often

(but of course only commit after compiling _everything_ one last time
and doing at least a few tests! :-)

(which of course implies that day-to-day work using CVS should never be
done directly on a baseline branch either, assuming the project needs a
working baseline at all times.... :-)

Any fears about early policy enforcement not being possible at "cvs add"
time are ungrounded and illogical in the context of how CVS is used in
general.  Also the fear about lack of a "cvs add" hook is pure
F.U.D. given that "cvs rm" also lacks a similar hook (and it lacks it
for the same reaons).

CVS "add" and "rm" commands are intended solely to change the state of
the working directory.  They MUST NOT require access to the repo or the
repo server.  They are no different than "vi" except that they change
metadata describing the state of the working directory instead of
changing the content of a file.

The fact that "cvs add" came to create a directory in the repository was
a hack that was implemented even before CVS supported the client/server
mode of operation; and it is a hack that was made simply to avoid having
to fix other implementation deficiencies in the code at that time.

Of course we went over all of this in excruciating detail the first time
this proposal was made and every time it's been seen since and all
because of one stick in the mud.

-- 
                                                Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <address@hidden>
Planix, Inc. <address@hidden>          Secrets of the Weird <address@hidden>




reply via email to

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