When I check out a file in ClearCase it asks me if I want to check out the file \"Reserved\" or \"Unreserved\". What are the differences between these types of checkouts an
As mentioned in "What are the basic clearcase concepts every developer should know?", ClearCase support a locking mechanism which is both:
"pessimistic": reserved checkout doesn't actually prevent other people to do their own checkout, but they will have to wait for the person who has the file checked out as "reserved" to do the check in: nobody can check-in until that person does the first check-in (then each other user will have to merge his/her version with the latest checked-in file)
Note: a "reserved" checkout can release its lock and be made unreserved, either by the owner or the administrator;
"optimistic": unreserved checkout which means (if nobody use a reserved checkout on the same file): the first one to check-in can do it without any other operation, the other ones will have to merge their work with the latest checked-in file.
In term if usage policy:
Notes:
A cleartool checkout/checkin
is not the same as:
Git itself would not have "file locking" (reserved checkout). Only system using Git might offer that feature, like Git LFS.