Hi, This series is a revival of [0] which was pointed to me by [1]. I have made some changes to the patch by Martin. - The rescan call in proc commit_committree is removed. git-gui goes to great lengths to avoid a rescan after commit by calculating the status of the files in memory. It makes sense to keep it that way. The purpose of the rescan was to reload the commit template in the buffer after a commit. The rescan path handles that, but we can do that manually as well. - Add a call to load the commit message template in 'rescan' directly instead of relying on 'run_prepare_commit_msg_hook' to do it when the commit-msg hook does not exist. In addition, patch 1/2 fixes a small bug in the commit message buffer backup logic that would be exposed by using the template mechanism. If you load git-gui, do some things, and exit it. Then if you change the commit message template (or even remove it), and open git-gui again it will use the previous message for the first commit and then use the new one from the next commit onwards. This happens because if the commit message buffer in not empty, git-gui saves the contents to save accidental loss of data. And when opening it again, the saved message (which is the older template) obviously gets priority. [0] https://public-inbox.org/git/1530608011429.41203@xxxxxxxxxxxxxxxxxxxxx/T/ [1] https://github.com/prati0100/git-gui/issues/24 Martin Schön (1): git-gui: use commit message template Pratyush Yadav (1): git-gui: Only touch GITGUI_MSG when needed git-gui.sh | 12 +++++++++--- lib/commit.tcl | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) -- 2.29.2