# [PATCH] git-gui: handle really long error messages in updateindex.

2 messages from 2009-12-20 to 2010-01-23. Participants: Pat Thoyts, Shawn O. Pearce.
Thread: https://gitlist.dev/t/22013

## Pat Thoyts, 2009-12-20 02:02

Subject: [PATCH] git-gui: handle really long error messages in updateindex.
Message-ID: <87bphqui9t.fsf@users.sourceforge.net>
URL: https://gitlist.dev/e/87bphqui9t.fsf%40users.sourceforge.net

```
 As reported to msysGit (bug #340) it is possible to get some very long
 error messages when updating the index. The use of a label to display
 this prevents scrolling the output. This patch replaces the label with
 a scrollable text widget configured to look like a label.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
---
 lib/index.tcl |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/lib/index.tcl b/lib/index.tcl
index d33896a..0b58bd8 100644
--- a/lib/index.tcl
+++ b/lib/index.tcl
@@ -14,29 +14,31 @@ proc _close_updateindex {fd after} {
 		toplevel $w
 		wm title $w [strcat "[appname] ([reponame]): " [mc "Index Error"]]
 		wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
-		pack [label $w.msg \
-			-justify left \
-			-anchor w \
-			-text [strcat \
-				[mc "Updating the Git index failed.  A rescan will be automatically started to resynchronize git-gui."] \
-				"\n\n$err"] \
-			] -anchor w
-
-		frame $w.buttons
-		button $w.buttons.continue \
+		set s [mc "Updating the Git index failed.  A rescan will be automatically started to resynchronize git-gui."]
+		text $w.msg -yscrollcommand [list $w.vs set] \
+			-width [string length $s] -relief flat \
+			-borderwidth 0 -highlightthickness 0 \
+			-background [$w cget -background]
+		$w.msg tag configure bold -font font_uibold -justify center
+		scrollbar $w.vs -command [list $w.msg yview]
+		$w.msg insert end $s bold \n\n$err {}
+		$w.msg configure -state disabled
+
+		button $w.continue \
 			-text [mc "Continue"] \
 			-command [list destroy $w]
-		pack $w.buttons.continue -side right -padx 5
-		button $w.buttons.unlock \
+		button $w.unlock \
 			-text [mc "Unlock Index"] \
 			-command "destroy $w; _delete_indexlock"
-		pack $w.buttons.unlock -side right
-		pack $w.buttons -side bottom -fill x -pady 10 -padx 10
+		grid $w.msg - $w.vs -sticky news
+		grid $w.unlock $w.continue - -sticky se -padx 2 -pady 2
+		grid columnconfigure $w 0 -weight 1
+		grid rowconfigure $w 0 -weight 1
 
 		wm protocol $w WM_DELETE_WINDOW update
-		bind $w.buttons.continue <Visibility> "
+		bind $w.continue <Visibility> "
 			grab $w
-			focus $w.buttons.continue
+			focus %W
 		"
 		tkwait window $w
 
-- 
1.6.2

```

## Shawn O. Pearce, 2010-01-23 22:23

Subject: Re: [PATCH] git-gui: handle really long error messages in updateindex.
Message-ID: <20100123222301.GA12679@spearce.org>
URL: https://gitlist.dev/e/20100123222301.GA12679%40spearce.org
In-Reply-To: <87bphqui9t.fsf@users.sourceforge.net>

```
Pat Thoyts <patthoyts@users.sourceforge.net> wrote:
>  As reported to msysGit (bug #340) it is possible to get some very long
>  error messages when updating the index. The use of a label to display
>  this prevents scrolling the output. This patch replaces the label with
>  a scrollable text widget configured to look like a label.
> 
> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
> ---
>  lib/index.tcl |   34 ++++++++++++++++++----------------
>  1 files changed, 18 insertions(+), 16 deletions(-)

Thanks, applied.

-- 
Shawn.

```
