В чем разница между зарезервированным и незарезервированным оформлением заказа? - PullRequest
8 голосов
/ 01 июня 2010

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

1 Ответ

15 голосов
/ 01 июня 2010

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

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

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

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

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

Примечания:

A cleartool checkout/checkin не совпадает с:

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

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

...