CVS.Система управления параллельными версиями

       

Статус файла


Основываясь на операциях, которые производятся над извлеченным файлом, а также на операциях, которые производятся над этим файлом в репозитории, можно классифицировать несколько состояний файла. Команда status рапортует об этих состояниях. Они таковы: Up-to-date Файл идентичен последней ревизии в репозитории, находящейся на используемой ветке. Locally Modified Вы редактировали этот файл и еще не зафиксировали изменения. Locally Added Вы добавили этот файл с помощью cvs add, и еще не зафиксировали изменения. Locally Removed Вы удалили файл с помощью cvs remove и еще не зафиксировали изменения. Needs Checkout Кто-то еще поместил новую ревизию в репозиторий. Название немного сбивает с толку, потому что требуется использовать команду cvs update, а не cvs checkout, чтобы получить свежайшую версию. Needs Patch Похоже на "Needs Checkout", но CVS-сервер пошлет заплату, а не целый файл. В принципе это приведет к тому же самому результату. Needs Merge


Кто-то еще поместил новую ревизию в репозиторий, а вы также изменили этот файл. File had conflicts on merge Похоже на "Locally Modified", только последняя выполненная команда cvs update обнаружила конфликт. Если вы еще не исправили его, сделайте это, как описано в section Пример конфликта. Unknown CVS ничего не знает об этом файле. Например, вы создали новый файл и еще не выполнили cvs add.

Чтобы уточнить состояние файла, cvs status также сообщает о Working revision, являющейся ревизией, на основе которой создан файл в рабочем каталоге, и Repository revision, являющейся свежайшей ревизией в репозитории, находящейся на используемой ветке.

Ключи команды status перечислены в section Краткий справочник по командам CVS. Информация о Sticky tag и Sticky date находится в section Липкие метки. Информация о Sticky options находится в описании флага `-k' в section Ключи команды update.

Команды status и update можно рассматривать как соответствующие друг другу. update используется для извлечения самых свежих файлов, а status -- для выяснения, что же произойдет, если выполнить update (конечно, состояние репозитория может измениться до того, как вы выполните update). В действительность, если вы хотите узнать состояние файлов в более краткой форме, выполните

$ cvs -n -q update

Ключ командной строки `-n' указывает не выполнять обновление, а просто сообщить о состоянии файлов; `-q' не печатает имена каждого каталога. Прочуя информацию о команде update можно найти в section Краткий справочник по командам CVS.

Содержание раздела