Am 04.09.19 um 22:10 schrieb Bert Wesarg:
> 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 <[email protected]>
> ---
> 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
'>='.
> + && [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