Code

git-gui: lib/index.tcl: handle files with % in the filename properly
authorGerrit Pape <pape@smarden.org>
Fri, 7 Sep 2007 17:16:59 +0000 (17:16 +0000)
committerShawn O. Pearce <spearce@spearce.org>
Sun, 9 Sep 2007 03:06:26 +0000 (23:06 -0400)
Steps to reproduce the bug:

 $ mkdir repo && cd repo && git init
 Initialized empty Git repository in .git/
 $ touch 'foo%3Fsuite'
 $ git-gui

Then click on the 'foo%3Fsuite' icon to include it in a changeset, a
popup comes with:
'Error: bad field specifier "F"'

Vincent Danjean noticed the problem and also suggested the fix, reported
through
 http://bugs.debian.org/441167

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/index.tcl

index f47f9290c8f82b2c899c839c26d9921e85b9fa0d..cbbce13a77587fc121659fd0c3c76ec261bcb09a 100644 (file)
@@ -13,7 +13,8 @@ proc update_indexinfo {msg pathList after} {
        if {$batch > 25} {set batch 25}
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg \
                $update_index_cp \
                $totalCnt \
                0.0]
@@ -68,7 +69,8 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} {
        }
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg \
                $update_index_cp \
                $totalCnt \
                [expr {100.0 * $update_index_cp / $totalCnt}]]
@@ -86,7 +88,8 @@ proc update_index {msg pathList after} {
        if {$batch > 25} {set batch 25}
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg \
                $update_index_cp \
                $totalCnt \
                0.0]
@@ -145,7 +148,8 @@ proc write_update_index {fd pathList totalCnt batch msg after} {
        }
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg \
                $update_index_cp \
                $totalCnt \
                [expr {100.0 * $update_index_cp / $totalCnt}]]
@@ -163,7 +167,8 @@ proc checkout_index {msg pathList after} {
        if {$batch > 25} {set batch 25}
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg
                $update_index_cp \
                $totalCnt \
                0.0]
@@ -218,7 +223,8 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} {
        }
 
        ui_status [format \
-               "$msg... %i/%i files (%.2f%%)" \
+               "%s... %i/%i files (%.2f%%)" \
+               $msg \
                $update_index_cp \
                $totalCnt \
                [expr {100.0 * $update_index_cp / $totalCnt}]]