Browse Source

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>
maint
Gerrit Pape 18 years ago committed by Shawn O. Pearce
parent
commit
0b883ab30c
  1. 18
      lib/index.tcl

18
lib/index.tcl

@ -13,7 +13,8 @@ proc update_indexinfo {msg pathList after} { @@ -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} { @@ -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} { @@ -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} { @@ -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} { @@ -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} { @@ -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}]]

Loading…
Cancel
Save