CVS только для чтения проверить

Я должен использовать CVS в проекте. До сих пор за всю свою трудовую жизнь я использовал только perforce и ничего не знаю о CVS, я прочитал все руководство по CVS, но не смог найти, как это сделать:

На самом деле, когда вы извлекаете файл, вы сначала должны отредактировать имя файла p4. C (сообщив системе perforce, что вы намеренно собираетесь редактировать этот файл с намерением в конечном итоге отправить его)

В CVS, когда я извлек файл, выполнив команду cvs co fileName.C, файл уже находится в состоянии готовности к редактированию.

Что эквивалентно в CVS тому, что является обычной практикой в ​​принудительном порядке?

[Мне нравится дополнительная безопасность, связанная с необходимостью сначала явно сообщить системе управления версиями о вашем намерении редактировать файл, прежде чем вы начнете это делать. Это позволяет вам легко просматривать файлы, которые вы редактировали, отменять изменения и т. д. Кроме того, вы также можете вносить временные изменения, явно редактируя файлы без предварительного редактирования p4 fileName.C, и позже вы знаете, что имели в виду их только как временные. изменения]

Огромное спасибо!


person Community    schedule 18.07.2009    source источник
comment
сожаление по поводу использования CVS....   -  person Mitch Wheat    schedule 18.07.2009


Ответы (2)


Вы можете сделать что-то вроде этого:

cvs -r checkout ....

затем, когда вы хотите отредактировать файл, вы должны

cvs edit filename

Кроме того, если вы хотите, чтобы коммит возвращал файлы только для чтения, вы должны

cvs -r commit ...

Или забудьте об -r и просто установите переменную среды CVSREAD. Намного легче!

На справочной странице CVS в разделе глобальных параметров:

-r

Сделайте новые рабочие файлы доступными только для чтения. Тот же эффект, что и при установке переменной среды $CVSREAD (см. Переменные среды узла в руководстве по CVS). По умолчанию рабочие файлы разрешены для записи, если только часы не включены (см. узел `Watches' в руководстве по CVS).

Пример:

$ cvs -r checkout baz
cvs checkout: Updating baz
U baz/file
$ ls -l baz/file
-r--r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file
$ cvs edit baz/file
$ ls -l baz/file
-rw-r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file
person Rex    schedule 18.07.2009

В CVS есть команда "edit", которая информирует сервер о том, что вы редактируете файл. Это, честно говоря, редко используется. Нет необходимости сообщать системе, когда вы редактируете файл, это можно легко определить, проверив, отличается ли содержимое.

Subversion имеет возможность заблокировать файл, что может быть больше того, что вы пытаетесь сделать.

В распределенных системах такого понятия нет, так как в них нет необходимости его реализовывать (и каким-либо возможным способом).

Кстати, выбор CVS вызывает недоумение. Сейчас доступны гораздо более совершенные технологии для контроля версий.

person Yann Ramin    schedule 18.07.2009
comment
Сейчас доступны гораздо лучшие технологии для управления исходным кодом не могли бы вы указать некоторые лучшие, подробно описав, есть ли у них графический интерфейс или интерфейс командной строки @Yann - person madD7; 31.01.2015