killing a CVS commit
Lynn David Newton
plug-discuss@lists.plug.phoenix.az.us
Mon, 16 Dec 2002 13:40:05 -0700
This may be more a question for a CVS list or a
sysadmin list, but ... for you CVS users out there,
particularly any who have ever admin'ed a CVS
repository:
Does anyone know of a correct or graceful way to kill a
cvs commit once it's started?
Several times, after updating files, I run cvs commit
only to find that one or more files I didn't intend to
commit are included ... and sometimes following through
with the commit would be a Very Bad Thing, e.g., when
I've made manure out of what was previously a perfectly
functional program.
What I've done is this:
o Suspend the editor (I usually use vi for $CVSEDITOR)
with C-z.
o Run ps to identify and kill the process.
o Go to CVSROOT and delete the lock files and
directories.
This normally frees things up. On the other hand,
(a) This seems horribly ungraceful and like the Wrong
Way to do it.
(b) Completing the commit and then backing out the
change seems like an undesireable option as well.
(c) As a side note, it's been brought to my attention
that whenever I do this (there have been three or
four times in the last couple of weeks), it leaves
a vi process spinning wildly out of control, eating
up 98% of the CPU time. (This is on an ancient
OS/BSD system. I don't know what happens on a Linux
system, though I could experiment to find out.)
It's (c) that I particularly want to avoid in the
future. The lesson is to be careful before running cvs
commit. After all, that's why they call it "commit",
right?
All suggestions welcome.
--
Lynn David Newton
Phoenix, AZ