CVS -- Система Управления Параллельными Версиями - Рекурсивное поведение

Go to the first, previous, next, last section, table of contents.


Рекурсивное поведение

Почти все подкоманды CVS работают рекурсивно, если вы укажете в качестве аргумента каталог. Например, представим себе такую структуру каталогов:

      $HOME
        |
        +--tc
        |   |
            +--CVS
            |      (служебные файлы CVS)
            +--Makefile
            +--backend.c
            +--driver.c
            +--frontend.c
            +--parser.c
            +--man
            |    |
            |    +--CVS
            |    |  (служебные файлы CVS)
            |    +--tc.1
            |
            +--testing
                 |
                 +--CVS
                 |  (служебные файлы CVS)
                 +--testpgm.t
                 +--test2.t

Если `tc' -- это текущий рабочий каталог, то верны следующие утверждения:

  • `cvs update testing' эквивалентно
    cvs update testing/testpgm.t testing/test2.t
    
  • `cvs update testing man' обновляет все файлы в подкаталогах
  • `cvs update .' или просто `cvs update' обновляет все файлы в каталоге tc

Если команде update не было дано ни одного аргумента, то она обновит все файлы в текущем рабочем каталоге и во всех его подкаталогах. Другими словами, `.' является аргументом по умолчанию для update. Это также истинно для большинства подкоманд CVS, а не только для команды update.

Рекурсивное поведение подкоманд CVS может быть отключено с помощью ключа командной строки `-l', и наоборот, ключ командной строки `-R' может использоваться для принудительной рекурсии, если `-l' был указан в `~/.cvsrc' (see section Ключи по умолчанию и файл ~/.cvsrc).

$ cvs update -l         # Не обновлять файлы в подкаталогах


Go to the first, previous, next, last section, table of contents.