Colm Aengus Murphy wrote:
The current cvs edit command stores the users name and workspace
location in the fileattr file. I'm guessing that when you unedit or
checkin it it only matching the users name and not the workspace
location. How difficult would it be to check the users name and
workspace location and only remove the edit if it matches ?
Huh, whaddya know - it looks like CVS already captures that
information. I
issued a 'watch on' and 'edit' on a .cvsignore file, and the fileattr
contains:
F.cvsignore _watched=;_editors=jhyslop>Tue Mar 29 14:13:46 2005
GMT+01-2189+E:\cvs\cvs-test\jhyslop;
_watchers=jhyslop>tedit+tunedit+tcommit
The datestamp and path are displayed when you issue 'cvs editors'.
It only stores one per user, though - I checked out the project into a
different directory, issued the 'cvs edit' command and got:
F.cvsignore _watched=;_editors=jhyslop>Tue Mar 29 14:16:07 2005
GMT+01-2189+E:\cvs\cvstest2;_watchers=jhyslop>tedit+tunedit+tcommit
So the infrastructure may be there already. It may not be as difficult
as I
thought.
We do find that old edits hang around when uses forget to use
unedit and
just remove the workspace. This isn't a major pain as you can
just edit
the fileattr to remove the unused edits.
Ick - I hate having to manually edit the file (we have a lot of people
who
have left, but forgot to 'cvs watch remove' before they left). One of
these
days, when I have the time, I'm going to work on implementing rwatch
and
redit commands, with options to specify the user.