Каково различие между зарезервированным контролем и незарезервированным контролем?

Когда я проверяю файл в ClearCase, он спрашивает меня, если я хочу проверить файл, "Зарезервированный" или "Незарезервированный". Каковы различия между этими типами контроля и когда подходящее время должно использовать их?

8
задан brainimus 1 June 2010 в 13:05
поделиться

1 ответ

Как упоминалось в «Какие основные концепции ClearCase должен знать каждый разработчик?» , ClearCase поддерживает механизм блокировки, который одновременно:

  • «пессимистичен»: зарезервированная выписка на самом деле не мешает другим людям делать свои собственные выписки, но им придется ждать, пока человек, у которого файл извлечен как «зарезервированный», выполнит проверку: никто не может зарегистрироваться пока этот человек не выполнит первую регистрацию (тогда каждый другой пользователь должен будет объединить свою версию с последним зарегистрированным файлом)
    Примечание: «зарезервированная» касса может снять свою блокировку и быть сделана незарезервированной либо владельцем, либо администратором;

  • «оптимистично»: незарезервированная касса , что означает (если никто не использует зарезервированную кассу на тот же файл): первый зарегистрировавшийся может сделать это без каких-либо других операций, остальные должны будут объединить свою работу с последним зарегистрированным файлом.

С точки зрения политики использования:

  • Обычно зарезервированная проверка - это нормально, поскольку она позволяет вам вносить изменения с «высоким приоритетом»: они должны быть приняты во внимание в первую очередь.
  • Для локальных модификаций, которые не нужно регистрировать сразу, достаточно безоговорочной проверки.
  • Для локальных модификаций, которые вообще не нужно возвращать, достаточно захваченного файла или затененных файлов (так что никакой проверки вообще).

Примечания:

A cleartool checkout / checkin - это не то же самое, что:

  • svn checkout / git checkout , которые обновляют рабочий репозиторий содержимым ревизии / фиксации, в отличие от проверки версии файл : набор файлов вместо одного файла.
  • "checkin": svn commit / git commit , который зарегистрировал изменения, возможно, нескольких файлов в репозиторий (удаленный для SVN, локальный для Git), в отличие от создания новой версии для одного файла.

Сам Git не имел бы «блокировки файлов» (зарезервированного извлечения). Только система, использующая Git, может предложить эту функцию, например Git LFS .

15
ответ дан 5 December 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: