Almost all of the subcommands of cvsnt work recursively when you specify a directory as an argument. For instance, consider this directory structure:
$HOME
|
+--tc
| |
+--CVS
| (internal cvsnt files)
+--Makefile
+--backend.c
+--driver.c
+--frontend.c
+--parser.c
+--man
| |
| +--CVS
| | (internal cvsnt files)
| +--tc.1
|
+--testing
|
+--CVS
| (internal cvsnt files)
+--testpgm.t
+--test2.t
If tc is the current working directory, the following is true:
cvs update testing is equivalent to
cvs update testing/testpgm.t testing/test2.t
cvs update testing man updates all files in the subdirectories
cvs update . or just cvs update updates all files in the tc directory
If no arguments are given to update it will update all files in the current working directory and all its subdirectories. In other words, . is a default argument to update. This is also true for most of the cvsnt subcommands, not only the update command.
The recursive behavior of the cvsnt subcommands can be turned off with the -l option. Conversely, the -R option can be used to force recursion if -l is specified in ~/.cvsrc (the section called “Default options and the ~/.cvsrc and CVSROOT/cvsrc files”).
$ cvs update -l # Don't update files in subdirectories