CVS - система управления версиями |
||||
---|---|---|---|---|
Введение $ cvs add hello Создадим внутри этого
каталога файл с нашей программой: Проверим, что программа компилируется и
выполняется. У нас появилась первая ревизия, вполне пригодная к помещению в
репозиторий. Сделаем же это:
Для получения максимального эффекта от использования cvs следует соблюдать
определенную дисциплину. Фиксирование изменений должно происходить каждый раз,
когда наличествует это самое изменение, четко определенное и завершенное.
Например, самый распространенный случай: исправлена ошибка.
Следует просмотреть изменения (в этот момент вас могут поджидать самые
любопытные сюрпризы, например, после многочасовой отладки вдруг может
выясниться, что все изменение свелось к двум строкам в двух разных файлах, хоть
вы и редактировали десяток этих файлов в поисках ошибки). Теперь нужно
зафиксировать изменение, причем обязательно документировать его: cvs запустит
для вас редактор и предложит ввести журнальное сообщение. Если вы вдобавок
пользуетесь системами отслеживания ошибок (а это тема для отдельной статьи), то
журнальное сообщение - отличное место, куда можно вписать номер исправленной
ошибки или, например, ссылку на письмо, в котором пользователь сообщил об
исправленной ошибке. Если вдруг случайно Петя и Вася бросятся исправлять один и тот
же кусок кода, и сделают это по-разному (сама по себе эта ситуация указывает на
недостаток общения Пети и Васи друг с другом), то cvs обработает и эту ситуацию.
Когда Петя зафиксирует свое исправление, cvs позволит ему сделать это. Когда
Вася попытается зафиксировать свой вариант исправления, cvs обнаружит, что эти
исправления перекрываются, и предложит ему обновить рабочую копию с помощью cvs
update. Эта команда покажет, что в исправляемом файле произошел так называемый
"конфликт" и пометит место конфликта в рабочей копии этого файла. Предположим,
Петя решил, что важнее исправить синтаксис выводимого сообщения, а Вася -- что
нужно использовать более простую функцию puts(). Конфликт будет выглядеть
примерно так: |