Automatic comments based on semantic changes
I would love the ability to select a new button "auto comment" from Checkin Comments drop-down on the Checkin UI that would use the the semantic code engine to generate comment lines like the following:
-added update methods to InquiryRepository
-added Username parameter to SetReferralDelivered() in ReferralService
-deleted class MyFakeClass
-created new enumeration MyFakeEnum
this would be the basis of every checkin comment and then the developer could add to it with specifics or just modify the text to be more explicit or supply reasoning or whatever.
-
Not yet there, but hope you enjoyed this: http://codicesoftware.blogspot.com/2015/08/track-refactored-code-across-files-with.html
-
psantosl commented
Hi Diego,
This is certainly a great idea.
In fact we already had it in mind since our goal is to extend some of the semantic features to the pending changes view so it is capable of displaying the information in a more "semantic" way.
Didn't think, though, about using Semantic as a "comment generator" which looks like a clever idea :P.
A first step would be just printing the diffs in text format, don't you think so?
-
Diego H. Bustamante commented
One more thought.... As we know, people coming from trunk development styles have a hard time getting used to the "checkin often - its safe - its your branch" mentality... in addition to this reluctance to commit changes, describing their changes on each commit is hard for some people.. so comments generated from semantic changes could help them.
-
Diego H. Bustamante commented
Taken it one step further, if this was available as an independent CLI tool or command from the existing semanticmerge.exe utility, one could point to changesets in a PSCM repo to generate this text or it could be pointed to two supported code files (.cs files) and used to generate an adhoc summary of changes in text.
Text summary of semantic changes could be used in issue management software integrations via plastic triggers... for example, on merge to main, post comment via issue system API with bulleted list of semantic changes done in this branch/ticket.