Глава 10. Добавление, удаление и переименование файлов и каталогов

Содержание

Добавление файлов в каталог
Удаление файлов
Удаление каталогов
Перемещение и переименование файлов
Обычный способ переименования
Перемещение файла с ревизиями
Копирование файла с ревизиями
Перемещение и переименование каталогов

В процессе разработки проекта часто требуется добавлять, удалять или переименовывать файлы и каталоги. Исходя из общих принципов, требуется, чтобы CVS запоминала факт совершения такого действия, вместо того, чтобы совершать необратимое изменение, точно так же, как она обращается с изменениями файлов. Точные механизмы, действующие в этих случаях, зависят от конкретной ситуации.

Добавление файлов в каталог

Для того, чтобы добавить новый файл в каталог, совершите следующие шаги:

  • Сначала у вас должна быть рабочая копия каталога. См. раздел Получение исходного кода.

  • Создайте новый файл в рабочей копии каталога.

  • Используйте комманду cvs add имя_файла, чтобы сообщить CVS, что вы хотите хранить историю изменений этого файла. Если в файле хранятся двоичные данные, добавьте ключ командной строки -kb.

  • Используйте команду cvs commit имя_файла, чтобы поместить файл в репозиторий. Другие разработчики не увидят этот файл, пока вы не выполните эту команду.

Можно также использовать команду add для добавления нового каталога.

В отличие от большинства других команд, команда add не является рекурсивной. Вы даже не можете сказать cvs add foo/bar. Вместо этого, вам потребуется выполнить

$ cd foo
$ cvs add bar

Команда: cvs add [-k kflag] [-m сообщение] файлы ...

Добавить файлы в список на помещение в репозиторий. Файлы или каталоги, указанные в команде add, должны существовать в текущем каталоге. Для того, чтобы добавить в репозиторий целое дерево каталогов, например, файлы, полученные от стороннего поставщика, используйте команду import.

Добавленные файлы не помещаются в репозиторий, пока вы не выполните команду commit, зафиксировав тем самым изменения. Выполнение команды add для файла, который был удален командой remove, отменит действие remove, если после нее еще не была выполнена команда commit. См. раздел “Удаление файлов”, там находится пример использования команды.

Ключ командной строки -k задает способ по умолчанию, которым будут извлекаться файлы.

Ключ командной строки -m задает описание файла. Описание появляется в журнале истории, если разрешено его использование. Также это описание будет сохранено в репозитории, когда файл будет зафиксирован. Команда log показывает это описание. Описание может быть изменено с помощью команды admin -t. Если вы опустите флаг -m описание, то у вас не спросят описания, а будет использована пустая строка.

Например, нижеследующие команды добавляют файл 'backend.c' в репозиторий:

$ cvs add backend.c
$ cvs commit -m “Early version. Not yet compilable.” backend.c

Когда вы добавляете файл, он добавляется только на ту ветку, над которой вы работаете (см. раздел Глава 8. Создание и слияние ветвей). Вы можете позднее поместить добавления на другую ветку, если захотите (См. раздел “При слиянии можно добавлять и удалять файлы”).