Когда я проверяю файл в ClearCase, он спрашивает меня, если я хочу проверить файл, "Зарезервированный" или "Незарезервированный". Каковы различия между этими типами контроля и когда подходящее время должно использовать их?
Как упоминалось в «Какие основные концепции ClearCase должен знать каждый разработчик?» , ClearCase поддерживает механизм блокировки, который одновременно:
«пессимистичен»: зарезервированная выписка на самом деле не мешает другим людям делать свои собственные выписки, но им придется ждать, пока человек, у которого файл извлечен как «зарезервированный», выполнит проверку: никто не может зарегистрироваться пока этот человек не выполнит первую регистрацию (тогда каждый другой пользователь должен будет объединить свою версию с последним зарегистрированным файлом)
Примечание: «зарезервированная» касса может снять свою блокировку и быть сделана незарезервированной либо владельцем, либо администратором;
«оптимистично»: незарезервированная касса , что означает (если никто не использует зарезервированную кассу на тот же файл): первый зарегистрировавшийся может сделать это без каких-либо других операций, остальные должны будут объединить свою работу с последним зарегистрированным файлом.
С точки зрения политики использования:
Примечания:
A cleartool checkout / checkin
- это не то же самое, что:
svn checkout
/ git checkout
, которые обновляют рабочий репозиторий содержимым ревизии / фиксации, в отличие от проверки версии файл : набор файлов вместо одного файла. svn commit
/ git commit
, который зарегистрировал изменения, возможно, нескольких файлов в репозиторий (удаленный для SVN, локальный для Git), в отличие от создания новой версии для одного файла. Сам Git не имел бы «блокировки файлов» (зарезервированного извлечения). Только система, использующая Git, может предложить эту функцию, например Git LFS .