Initialize CheckIn comments

Hi,

in prior versions of Toad (let it be 11.5) the check-in comment was prefilled with the comment given on check-out. Now it is allways empty. We us the “force” option for check-in and check-out comments. Is it possible to get the prefilled comments back?

Best regards

Dennis Reddin

Hey Dennis,

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.

-John

Hello John,

I understand your problems identifying the correct comments for prefill in case that multiple objects are marked for checkin. We are using SVN and I know that the check-out is something that is only done in TeamCoding (Toad just sets a SVN lock when using “lock on check-out” option without comment). As I said in my first post we are using “force comments” on check-out and check-in. We use both options for the following reasons. At the check-out the developer explains in his comment what he wants to change and leaves a task number within the comment. This task references the requirement which needs the change of database object. Every other developer who wants to change the same source can see in TeamCoding why the object is checked-out.

The source is checked-in when changes are complete, testet and accepted. This comment now goes into SVN with the new Source. In 70% we change one object (I regard package and package body as one object).

Now I can imagine the following compromise. On check-in the comments are prefilled with check-out comment when only one object is marked for check-in. On check-in of package and package body comment from body is taken. Normally they are checked out together so that the comments are equal anyway. If there are more objects marked for check-in the comment is left empty. Maybe it is also possible to prefill the comment for multiple objects if all check-out comments are equal (this can also be used for packages as alternative behavior to treatment described above). This would be the best solution but is not necessary.

Is the described compromise a possible solution for the check-in comments?

Thanks in advance for checking my suggestion.

Best regards

Dennis

Hey Dennis,

Those were some great suggestions! Feel free to check tomorrow’s beta. I took your suggestions and expanded upon them a bit to keep the internal logic as simple as possible. So, in tomorrow’s beta, you should see:

  • If you checked out a single object and made a comment, the checked-out comment will auto-fill in the check-in’s comment dialog
  • If you checked out multiple objects with a single comment, the checked-out comment will auto-fill in the check-in’s comment dialog
  • If you checked out multiple objects with multiple comments, each of the checked-out comments (distinct) will auto-fill in the check-in’s comment dialog. The user can then remove the comment(s) he/she doesn’t want to include with the check-in.
    Let me know if that works to accomplish what you’re looking to do.

Thanks!

-John

Hey John,

I tested the new comments and what shall I say? I am happy with it.

Thanks a lot

Best regards

Dennis