git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-gui: use commit message template

From
Stefan Beller <sbeller@google.com>
Date
Jul 2, 2018, 19:49 UTC
Message-ID
<CAGZ79kbwbUSYDKVfxFyYX6LUW6xgBd7dSPethwP9w5Zz4ritdQ@mail.gmail.com>
In-Reply-To
<20180702182521.EC55341BAC@mail.steuer-voss.de>
+cc Pat, in the hope of an answer.

See https://public-inbox.org/git/xmqqd0z61xsv.fsf@gitster-ct.c.googlers.com/ on the state of git-gui and its lack of maintenance. Maybe Junio will pickup this patch.

On Mon, Jul 2, 2018 at 11:35 AM Martin Schön <Martin.Schoen@loewensteinmedical.de> wrote:

>
> Use the file described by commit.template (if set) to show the commit message
> template, just like other GUIs.

You seem to have looked at and understood the git-gui code, so I have a feature request for you if you don't mind: git-gui takes a commit message as a suggestion from git, for example after a failed merge, when you open git-gui, it pre-populates the commit message with

  <previous commit message>
  # Conflict: <file.c>

which git knows how to deal with as '#' is a comment character. However when using git-gui to compose commit messages, these commented conflicts are not cut out as git-gui doesn't know how to handle comments?

So it would be awesome if git-gui could either respect '#' as a comment char, or rather 'core.commentChar'

>
> Signed-off-by: Martin Sch??n <Martin.Schoen@loewensteinmedical.de>
The encoding seems to be broken here, as I see '??' in your last name.
Show 47 quoted lines
> ---
>  git-gui.sh     | 9 +++++++++
>  lib/commit.tcl | 1 +
>  2 files changed, 10 insertions(+)
>
> diff --git a/git-gui.sh b/git-gui.sh
> index 5bc21b8..6fc598d 100755
> --- a/git-gui.sh
> +++ b/git-gui.sh
> @@ -1611,6 +1611,12 @@ proc run_prepare_commit_msg_hook {} {
>                 fconfigure $fd_sm -encoding utf-8
>                 puts -nonewline $fd_pcm [read $fd_sm]
>                 close $fd_sm
> +       } elseif {[file isfile [get_config commit.template]]} {
> +               set pcm_source "template"
> +               set fd_sm [open [get_config commit.template] r]
> +               fconfigure $fd_sm -encoding utf-8
> +               puts -nonewline $fd_pcm [read $fd_sm]
> +               close $fd_sm
>         } else {
>                 set pcm_source ""
>         }
> @@ -1620,6 +1626,9 @@ proc run_prepare_commit_msg_hook {} {
>         set fd_ph [githook_read prepare-commit-msg \
>                         [gitdir PREPARE_COMMIT_MSG] $pcm_source]
>         if {$fd_ph eq {}} {
> +               if {$pcm_source eq "template"} {
> +                       load_message PREPARE_COMMIT_MSG
> +               }
>                 catch {file delete [gitdir PREPARE_COMMIT_MSG]}
>                 return 0;
>         }
> diff --git a/lib/commit.tcl b/lib/commit.tcl
> index 83620b7..168f696 100644
> --- a/lib/commit.tcl
> +++ b/lib/commit.tcl
> @@ -506,6 +506,7 @@ A rescan will be automatically started now.
>         unlock_index
>         reshow_diff
>         ui_status [mc "Created commit %s: %s" [string range $cmt_id 0 7] $subject]
> +       rescan ui_ready
>  }
>
>  proc commit_postcommit_wait {fd_ph cmt_id} {
> --
> 2.17.1
>
Previous: Martin SchönNext: Schoen, Martin
Message 2 of 3 in “git-gui: use commit message template”
  1. git-gui: use commit message templateMartin Schön, Jul 2, 2018
  2. Stefan BellerJul 2, 2018
  3. AW: [PATCH] git-gui: use commit message templateSchoen, Martin, Jul 3, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.