As far as I know, normal shelving just simply share your
"pending changes", i.e. your team members can unshelve
what you shelve and continue working on that version.
When other team members perform a "Get latest..." they
don't get your changes that you have shelved.
Hope this was not too unclear.
- Loc
This sounds like high friction though. Do people really
have this problem often enough they need to institute
command & control castle walls to keep developers
from hurting themselves? I haven't had this problem very
often, but I haven't been on a team of more than 3-4
devs at a time.
It sounds like this is the wrong way to approach the
problem and that you should be instilling the practices
and rhythms and habits rather than pulling up the gate
Chad, you are correct that in a perfect world developers
would follow best practices and standards and all code
produced would work great without failures, but
unfortunately in larger development teams a developer
checking in code "because it works fine on my machine"
which does not compile, the effect on the team as a
whole can be devastating.
Friction can be a lot higher when a single user holds up
the entire development effort because of their
carelessness, and the gated checkin solution can
alleviate this by allowing users to shelve their changes
for committal and then getting on with other work while
the changes are tested and checked in, without affecting
other system users.
OpenGauntlet is overkill for development teams of 10 or
fewer, but in larger CMMI based teams it can greatly
improve the development output.