Hi!

We would like to use a LLM to automatically generate meaningful commit 
messages (similar to this post 
https://groups.google.com/g/tortoisesvn/c/1esea5tCqCY) and propose them to 
the user for the commit. For our specific use case, we want to allow the 
user to enter a ticket ID, so the LLM can use the information from the 
ticket to gather more context on the "why" of the change.

We found two different ways the process would work (for us), but both with 
flaws. We would like to ask if it would be possible to implement a solution 
for one (or both) of them.

1. We would prefer to use a "manual pre-commit" hook. This way, we can read 
the user input, extract information like a ticket id, and "refine" it. 
Problem is: The manual pre-commit hook has access to the commit message 
file, it isn't read back after executing the hook - so the loop is 
incomplete and not usable for this scenario.

2. As an alternative, we implemented a "start commit" hook, which works 
fine to pre-populate the commit message (it has the flaw that it doesn't 
know which files are checked, but it can generate something for all changed 
files). More annoyingly though (and I would assume this would affect other 
tools called in a start commit hook as well): The start commit hook is 
executed before SVN has created a window. This way, the focus is being 
passed from the Windows Explorer (or where the commit has been initiated 
from) to the dialog of the hook, back to the Windows Explorer, instead of 
to the commit window. 


Just from looking at the code, I would guess that it takes only one added 
line of code to change the behavior from the manual pre-commit hook (a call 
to m_cLogMessage.SetText(m_sLogMessage); after line 1980 in CommitDlg.cpp). 

Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/tortoisesvn/d2deff68-5f18-4209-8526-a9e8ffcb6e4dn%40googlegroups.com.

Reply via email to