mirror of
https://github.com/git/git.git
synced 2024-11-18 19:13:58 +01:00
git-gui: Refactor the revert (aka checkout-index) implementation.
We can revert any file which has a valid stage 0 (is not unmerged) and which is has a working directory status of M or D. This vastly simplifies our pattern matching on file status when building up the list of files to perform a checkout-index against. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
de5f6d5d17
commit
7d40edfa06
27
git-gui.sh
27
git-gui.sh
@ -1597,20 +1597,14 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} {
|
||||
{incr i -1} {
|
||||
set path [lindex $pathList $update_index_cp]
|
||||
incr update_index_cp
|
||||
|
||||
switch -glob -- [lindex $file_states($path) 0] {
|
||||
AM -
|
||||
AD {set new A_}
|
||||
MM -
|
||||
MD {set new M_}
|
||||
_M -
|
||||
_D {set new __}
|
||||
?? {continue}
|
||||
U? {continue}
|
||||
?M -
|
||||
?D {
|
||||
puts -nonewline $fd "$path\0"
|
||||
display_file $path ?_
|
||||
}
|
||||
}
|
||||
|
||||
puts -nonewline $fd $path
|
||||
puts -nonewline $fd "\0"
|
||||
display_file $path $new
|
||||
}
|
||||
|
||||
set ui_status_value [format \
|
||||
@ -2406,12 +2400,9 @@ proc revert_helper {txt paths} {
|
||||
set after {}
|
||||
foreach path $paths {
|
||||
switch -glob -- [lindex $file_states($path) 0] {
|
||||
AM -
|
||||
AD -
|
||||
MM -
|
||||
MD -
|
||||
_M -
|
||||
_D {
|
||||
U? {continue}
|
||||
?M -
|
||||
?D {
|
||||
lappend pathList $path
|
||||
if {$path eq $current_diff} {
|
||||
set after {reshow_diff;}
|
||||
|
Loading…
Reference in New Issue
Block a user