git-gui: Refactor file state representations.
It just felt wrong to me that I was using _ as part of the mode argument to display_file to mean "don't care/use existing" and * as part of the mode argument to mean "force to _". So instead use ? to mean "don't care/use existing" and _ to mean "force to _". The code is a lot clearer this way and hopefully it won't drive another developer insane, as it did me. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
32e0bcab59
commit
b676511298
20
git-gui
20
git-gui
@ -378,7 +378,7 @@ proc read_diff_index {fd after} {
|
||||
incr z2 -1
|
||||
display_file \
|
||||
[string range $buf_rdi $z1 $z2] \
|
||||
[string index $buf_rdi [expr {$z1 - 2}]]_
|
||||
[string index $buf_rdi [expr {$z1 - 2}]]?
|
||||
incr c
|
||||
}
|
||||
if {$c < $n} {
|
||||
@ -407,7 +407,7 @@ proc read_diff_files {fd after} {
|
||||
incr z2 -1
|
||||
display_file \
|
||||
[string range $buf_rdf $z1 $z2] \
|
||||
_[string index $buf_rdf [expr {$z1 - 2}]]
|
||||
?[string index $buf_rdf [expr {$z1 - 2}]]
|
||||
incr c
|
||||
}
|
||||
if {$c < $n} {
|
||||
@ -426,7 +426,7 @@ proc read_ls_others {fd after} {
|
||||
set pck [split $buf_rlo "\0"]
|
||||
set buf_rlo [lindex $pck end]
|
||||
foreach p [lrange $pck 0 end-1] {
|
||||
display_file $p _O
|
||||
display_file $p ?O
|
||||
}
|
||||
rescan_done $fd buf_rlo $after
|
||||
}
|
||||
@ -1151,15 +1151,15 @@ proc merge_state {path new_state} {
|
||||
set icon [lindex $info 1]
|
||||
}
|
||||
|
||||
if {$s0 eq {_}} {
|
||||
if {$s0 eq {?}} {
|
||||
set s0 [string index $state 0]
|
||||
} elseif {$s0 eq {*}} {
|
||||
} elseif {$s0 eq {_}} {
|
||||
set s0 _
|
||||
}
|
||||
|
||||
if {$s1 eq {_}} {
|
||||
if {$s1 eq {?}} {
|
||||
set s1 [string index $state 1]
|
||||
} elseif {$s1 eq {*}} {
|
||||
} elseif {$s1 eq {_}} {
|
||||
set s1 _
|
||||
}
|
||||
|
||||
@ -1303,15 +1303,15 @@ proc write_update_index {fd pathList totalCnt batch msg after} {
|
||||
switch -glob -- [lindex $file_states($path) 0] {
|
||||
AD -
|
||||
MD -
|
||||
_D {set new D*}
|
||||
_D {set new D_}
|
||||
|
||||
_M -
|
||||
MM -
|
||||
M_ {set new M*}
|
||||
M_ {set new M_}
|
||||
|
||||
_O -
|
||||
AM -
|
||||
A_ {set new A*}
|
||||
A_ {set new A_}
|
||||
|
||||
?? {continue}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user