From 7587f4d32f7479a9fa9ae1767708597702a0be5f Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Thu, 9 Dec 2010 21:46:23 +0100 Subject: [PATCH] git-gui: learn more type change states Support the following states with type change in git-gui: AT, MT, TD, TM Signed-off-by: Bert Wesarg Signed-off-by: Pat Thoyts --- git-gui.sh | 8 ++++++-- lib/commit.tcl | 6 +++++- lib/index.tcl | 10 ++++++++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 8d576b398..886719a8c 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1997,7 +1997,11 @@ foreach i { {MD {mc "Staged for commit, missing"}} {_T {mc "File type changed, not staged"}} + {MT {mc "File type changed, old type staged for commit"}} + {AT {mc "File type changed, old type staged for commit"}} {T_ {mc "File type changed, staged"}} + {TM {mc "File type change staged, modification not staged"}} + {TD {mc "File type change staged, file missing"}} {_O {mc "Untracked, not staged"}} {A_ {mc "Staged for commit"}} @@ -3539,8 +3543,8 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} { || $current_diff_path eq {} || {__} eq $state || {_O} eq $state - || {_T} eq $state - || {T_} eq $state + || [string match {?T} $state] + || [string match {T?} $state] || [has_textconv $current_diff_path]} { set s disabled } else { diff --git a/lib/commit.tcl b/lib/commit.tcl index 83b3d9d21..5ce46877b 100644 --- a/lib/commit.tcl +++ b/lib/commit.tcl @@ -166,7 +166,7 @@ The rescan will be automatically started now. _? {continue} A? - D? - - T_ - + T? - M? {set files_ready 1} _U - U? { @@ -453,7 +453,11 @@ A rescan will be automatically started now. } AM - AD - + AT - + TM - + TD - MM - + MT - MD { set file_states($path) [list \ _[string index $m 1] \ diff --git a/lib/index.tcl b/lib/index.tcl index e9db0c498..5d7bbf23e 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -103,8 +103,11 @@ proc write_update_indexinfo {fd pathList totalCnt batch after} { set s $file_states($path) switch -glob -- [lindex $s 0] { A? {set new _O} - M? {set new _M} + MT - + TM - T_ {set new _T} + M? {set new _M} + TD - D_ {set new _D} D? {set new _?} ?? {continue} @@ -167,7 +170,10 @@ proc write_update_index {fd pathList totalCnt batch after} { AD {set new __} ?D {set new D_} _O - + AT - AM {set new A_} + TM - + MT - _T {set new T_} _U - U? { @@ -261,7 +267,7 @@ proc unstage_helper {txt paths} { switch -glob -- [lindex $file_states($path) 0] { A? - M? - - T_ - + T? - D? { lappend pathList $path if {$path eq $current_diff_path} { -- 2.30.2