Алексей Махоткин

домашняя страница

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.

Comments