git-gui: lib/index.tcl: handle files with % in the filename properly

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>
This commit is contained in:
Gerrit Pape 2007-09-07 17:16:59 +00:00 коммит произвёл Shawn O. Pearce
Родитель 047d94d505
Коммит 0b883ab30c
1 изменённых файлов: 12 добавлений и 6 удалений

Просмотреть файл

@ -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}]]