threads / patch / 12547

patchgit-gui: Add option for changing the width of the commit message text box

Subject: [PATCH] git-gui: Add option for changing the width of the commit message text box

## tl;dr

2 messages between Mar 6, 2008 and Mar 8, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Adam Piątyszek· Mar 6, 2008, 19:38 UTC · lore

The width of the commit message text area is currently hard-coded to 75 characters. This value might be not optimal for some projects. For instance users who would like to generate GNU-style ChangeLog file from git commit message might prefer commit messages of width no longer than 70 characters.

This patch adds a global and per repository option "Commit Message Text Width", which could be used to change the width of the commit message text area.

Signed-off-by: Adam Piątyszek <ediap@users.sourceforge.net>
---
Ideally, I would like to have an automated line wrapping in the commit
message text area. Unfortunately the "-wrap words" switch only wraps the
lines for displaying purposes and this has no effect on the committed message
itself.

Anyway, the patch I prepared allows at least for configuring the width of the commit message text box, so it is easier to manually wrap lines to expected width.

This patch is against git.git's master branch. I hope this is fine.
/Adam
 git-gui/git-gui.sh     |    3 ++-
 git-gui/lib/option.tcl |    1 +
 2 files changed, 3 insertions(+), 1 deletions(-)
Show changes to 2 files +3 −1

git-gui/git-gui.sh, git-gui/lib/option.tcl

diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 238a239..f617a4a 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -611,6 +611,7 @@ set default_config(gui.matchtrackingbranch) false
 set default_config(gui.pruneduringfetch) false
 set default_config(gui.trustmtime) false
 set default_config(gui.diffcontext) 5
+set default_config(gui.commitmsgwidth) 75
 set default_config(gui.newbranchtemplate) {}
 set default_config(gui.spellingdictionary) {}
 set default_config(gui.fontui) [font configure font_ui]
@@ -2421,7 +2422,7 @@ text $ui_comm -background white -borderwidth 1 \
 	-maxundo 20 \
 	-autoseparators true \
 	-relief sunken \
-	-width 75 -height 9 -wrap none \
+	-width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \
 	-font font_diff \
 	-yscrollcommand {.vpane.lower.commarea.buffer.sby set}
 scrollbar .vpane.lower.commarea.buffer.sby \
diff --git a/git-gui/lib/option.tcl b/git-gui/lib/option.tcl
index ea80df0..9270512 100644
--- a/git-gui/lib/option.tcl
+++ b/git-gui/lib/option.tcl
@@ -124,6 +124,7 @@ proc do_options {} {
 		{b gui.pruneduringfetch {mc "Prune Tracking Branches During Fetch"}}
 		{b gui.matchtrackingbranch {mc "Match Tracking Branches"}}
 		{i-0..99 gui.diffcontext {mc "Number of Diff Context Lines"}}
+		{i-0..99 gui.commitmsgwidth {mc "Commit Message Text Width"}}
 		{t gui.newbranchtemplate {mc "New Branch Name Template"}}
 		} {
 		set type [lindex $option 0]
-- 
1.5.4.3.450.gb92176.dirty
Shawn O. Pearce· Mar 8, 2008, 02:00 UTC · re: Adam Piątyszek · lore

Re: [PATCH] git-gui: Add option for changing the width of the commit message text box

Adam Pityszek <ediap@users.sourceforge.net> wrote:
Show 9 quoted lines
> The width of the commit message text area is currently hard-coded
> to 75 characters. This value might be not optimal for some projects.
> For instance users who would like to generate GNU-style ChangeLog
> file from git commit message might prefer commit messages of width
> no longer than 70 characters.
> 
> This patch adds a global and per repository option "Commit Message
> Text Width", which could be used to change the width of the commit
> message text area.
Thanks.
 
> Ideally, I would like to have an automated line wrapping in the commit
> message text area. Unfortunately the "-wrap words" switch only wraps the
> lines for displaying purposes and this has no effect on the committed message
> itself.
 
Yea, I fought with that myself for a while and just settled on
a 75 character wide text area.
-- 
Shawn.

← back to recent threads