diff options
author | Bert Wesarg <bert.wesarg@googlemail.com> | 2010-12-09 21:46:23 +0100 |
---|---|---|
committer | Pat Thoyts <patthoyts@users.sourceforge.net> | 2011-01-28 00:16:50 +0000 |
commit | 7587f4d32f7479a9fa9ae1767708597702a0be5f (patch) | |
tree | 9750628d932d9799be3709db01d7a1cbe2dafe6e | |
parent | 4a065c8a6f0415da6d778dae83ff88e5385a2f0f (diff) | |
download | git-7587f4d32f7479a9fa9ae1767708597702a0be5f.tar.gz git-7587f4d32f7479a9fa9ae1767708597702a0be5f.tar.xz |
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 <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
-rwxr-xr-x | git-gui.sh | 8 | ||||
-rw-r--r-- | lib/commit.tcl | 6 | ||||
-rw-r--r-- | 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} { |