Reserved Checkouts

Anyone have experience with advisory locking a la "cvs edit"?

I happen to be a big fan of UnreservedCheckouts. I'm sitting next to a programmer who is a big fan of reserved checkouts.

I say, "Just pretend you're the only one working on the project, and deal with the merge conflicts when you integrate. StandUpMeetings, Good tests and ContinuousIntegration will help." When I say this, he screams and says it's "absolutely necessary for large teams", because "otherwise, everyone steps on everyone else's toes".

Anyone have any additional perspective to add?

ReservedCheckouts is traditionally combined with CodeOwnership, with the effect that the bug you need to fix now has to wait until whoever checked out the file to work on something else (and forgot to check it in) comes back from their holiday. I have always passionately hated this kind of situation.

One unplanned, but somewhat useful side-effect of ReservedCheckouts is that the locking forces developers who are contending for the same file to communicate with each other, which can sometimes lead to a discussion of the nature of the changes being made. This can begin the transition from CowboyCoding to CollaborativeDevelopment within the CorporateCulture?. -- SeanMcNamara

This has been stated over on ContinuousIntegration, and bears repeating here: If coders find their changes colliding quite a bit, it's probably a sign that your classes are too big and could be broken down a bit. And if there are other factors in the organization that prevent programmers from mercilessly refactoring, that's a problem that needs addressing first.


I'm mostly wondering why people keep pointing out that it's "absolutely necessary for large teams" (I've heard this as well) and expect that to be an argument for doing the same on small teams.

I could be wrong, but some people seem addicted to BorrowingTrouble. (Further comments on the BorrowingTrouble page)


If your team has a policy whereby nobody leaves code checked out when they leave for the night, and a culture of checking in changes several times a day then reserved checkouts aren't usually a problem. On the other hand, in a team that is doing that the collision rate with unreserved checkouts is also going to be fairly low! ContinuousIntegration sir? Suits you sir! --DarrenHobbs


EditText of this page (last edited December 21, 2001) or FindPage with title or text search