You are right, other GUI client looks at file timestamp to determine if file "edited" or in terms of IDE "checked out". However this can cause some confusion. You may know, that there two ways with CVS to provide edit cycle for file: 1. Remove read-only flag/or and/just edit it -- commit changes 2. cvs edit -- edit file -- commit changes With first behavior there are two bad things: a) you not inform others that you edit file. This way unexpected conflicts can occurs. b) this is some paradox, but you can find that in such case "cvs unedit" command does not revert file back. For us it is import to get away from such things. User will be very surprised when on "Undo checkout" nothing will happens. And so on. That's why, by default we follow ideology of "strict checkout status". I.e. we consider file as checked out (modified) when "cvs edit" or "Checkout in IDE" applied to it. As the result the cvs/base folder will contain pre-checked out copy of file, all others are notified, virtual reserved checkout mode working, undo checkout is guaranteed. However, you can switch off this option in configuration, and plug-in will follow the other GUI's logic. I.e. file will be "checked out" when file date/time is modified or "cvs edit" is applied. Only one thing, is that to display correct status you should explicitly call "refresh status" command from IDE. The "Check Server for File Status" achieve the same result, but you are right, it is slow. The purpose of this option is bring up additional statuses like "need update" or "check out by some one else". But we know only one IDE that display such statuses, it is PowerBuilder. If you use other IDE you not need to use this option. I hope this will answer your question. |