GNU Info

Info Node: (cvsbook.info)Controlling What Actions Are Watched

(cvsbook.info)Controlling What Actions Are Watched


Next: Finding Out Who Is Watching What Prev: Ending An Editing Session Up: Watches (CVS As Telephone)
Enter node , (file) or (file)node

Controlling What Actions Are Watched
------------------------------------

By default, watchers are notified about three kinds of action: edits,
commits, and unedits.  However, if you only want to be notified about,
say, commits, you can restrict notifications by adjusting your watch
with the -a flag (a for action):

     floss$ cvs watch add -a commit hello.c

Or if you want to watch edits and commits but don't care about unedits,
you could pass the -a flag twice:

     floss$ cvs watch add -a edit -a commit hello.c

Adding a watch with the -a flag will never cause any of your existing
watches to be removed.  If you were watching for all three kinds of
actions on hello.c, running

     floss$ cvs watch add -a commit hello.c

has no effect - you'll still be a watcher for all three actions.  To
remove watches, you should run

     floss$ cvs watch remove hello.c

which is similar to add in that, by default, it removes your watches for
all three actions.  If you pass -a arguments, it removes only the
watches you specify:

     floss$ cvs watch remove -a commit hello.c

This means that you want to stop receiving notifications about commits
but continue to receive notifications about edits and unedits (assuming
you were watching edits and unedits to begin with, that is).

There are two special actions you can pass to the -a flag: all or none.
The former means all actions that are eligible for watching (edits,
commits, and unedits, as of this writing), and the latter means none of
these.  Because CVS's default behavior, in the absence of -a, is to
watch all actions, and because watching none is the same as removing
yourself from the watch list entirely, it's hard to imagine a situation
in which it would be useful to specify either of these two special
actions.  However, cvs edit also takes the -a option, and in this case,
it can be useful to specify all or none.  For example, someone working
on a file very briefly may not want to receive any notifications about
what other people do with the file.  Thus, this command

     paste$ whoami
     qsmith
     paste$ cvs edit -a none README.txt

causes watchers of README.txt to be notified that qsmith is about to
work on it, but qsmith would not be added as a temporary watcher of
README.txt during his editing session (which he normally would have
been), because he asked not to watch any actions.

Remember that you can only affect your own watches with the cvs watch
command.  You may stop watching a certain file yourself, but that won't
change anyone else's watches.


automatically generated by info2www version 1.2.2.9