We looked into this during the rewrite because we saw that recent versions of Toad had lost this. Conceptually, it sounded logical and straight-forward; but as we started to look into it further, we noticed some holes. And, when we looked into how this was implemented in older versions, the holes became more apparent.
For example, let’s say you have enabled the “Comments on checkout” option, and you check out a procedure. You provide a comment, “Checking out procedure to update summation logic”. During editing, you notice that this procedure references a function that also needs modified. So, you check out the function and provide a new comment, “Also checking out function that’s a dependent of [procedure name]”.
If you then check-in both the procedure and function together, which comment do you auto-populate? In the old version of Toad, it would only pull in the latest comment. Your original comment would be lost. Similarly, if you checked them in one at a time, it would also pull in the latest comment. So, if you checked in the procedure, it would default the check-in comment to the one you entered on the check-out of the function.
Most version control providers (CVS, SVN, Git, TFS, VSS, etc) don’t actually support providing comments on check-out, so the comment you provide is actually ignored by the provider. That functionality is primarily a TOAD one that simply tracks the comment in Team Coding’s history table. We suspected that it was probably an option that was not used by most users, but since it existed previously, we kept it. However, since we couldn’t consistently track the check-out comment to the check-in (depending on how people work), we decided it was best to not try to track it.
On some providers (like PVCS, Mercurial, and Git), however, we do have a default comment in the providers’ configuration dialog which uses that comment if no comment is provided upon check-in. However, if you don’t use the check-out comment for anything internally, there’s no real reason to enable that option in Team Coding. It doesn’t really get saved within the version control system.