Re: [PATCH 1/2] git-gui: warn if the commit message contains lines longer than the set limit
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Sep 10, 2019, 16:50 UTC
- Message-ID
- <01e3c41d-af69-f9b3-31e6-12192e566f92@kdbg.org>
- In-Reply-To
- <7da71d89f9fa987eca2e25974e4cec382c146e44.1567627609.git.bert.wesarg@googlemail.com>
Am 04.09.19 um 22:10 schrieb Bert Wesarg:
Show 38 quoted lines
> The commit message widget does not wrap the next and has a configurable
> fixed width to avoid creating too wide commit messages. Though this was
> only enforced in the GUI. Now we also check the commit message at commit
> time for long lines and ask the author for confirmation if it exceeds the
> configured line length.
>
> Needs Tcl 8.6 because of `lmap`.
>
> Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
> ---
> git-gui.sh | 4 ++--
> lib/commit.tcl | 10 ++++++++++
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/git-gui.sh b/git-gui.sh
> index 5bc21b8..a491085 100755
> --- a/git-gui.sh
> +++ b/git-gui.sh
> @@ -31,8 +31,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}]
> ##
> ## Tcl/Tk sanity check
>
> -if {[catch {package require Tcl 8.4} err]
> - || [catch {package require Tk 8.4} err]
> +if {[catch {package require Tcl 8.6} err]
> + || [catch {package require Tk 8.6} err]
> } {
> catch {wm withdraw .}
> tk_messageBox \
> diff --git a/lib/commit.tcl b/lib/commit.tcl
> index 83620b7..fa9760b 100644
> --- a/lib/commit.tcl
> +++ b/lib/commit.tcl
> @@ -215,6 +215,16 @@ A good commit message has the following format:
> unlock_index
> return
> }
> + if {[tcl::mathfunc::max {*}[lmap x [split $msg "\n"] {string length $x}]] >= $repo_config(gui.commitmsgwidth) \This has an off-by-one error: When I fill the edit box to the limit, but not beyond it, I get the warning popup. I guess this should be '>', not '>='.
Show 13 quoted lines
> + && [ask_popup "Commit message contains lines longer than $repo_config(gui.commitmsgwidth) characters.
> +
> +You may change this limit in the options.
> +
> +Continue to commit?
> +"] ne yes} {
> + unlock_index
> + return
> + }
>
> # -- Build the message file.
> #
> -- Hannes