This covers also the case for newly added files in the index. Like this: echo bar >foo git add foo rm foo ln -s bar foo This will result in an state of AT. And for cases where the type change is staged, and the new type was modified after the staging. Like this (cont.): git add foo git commit -mfoo rm foo echo bar >foo git add foo echo baz >foo Will result in an state of TM for foo. Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> --- git-gui.sh | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 38362fa..1bebcf1 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1993,7 +1993,9 @@ foreach i { {MD {mc "Staged for commit, missing"}} {_T {mc "File type changed, not staged"}} + {AT {mc "File type changed, old type staged for commit"}} {T_ {mc "File type changed, staged"}} + {TM {mc "Staged file type change, modification not staged"}} {_O {mc "Untracked, not staged"}} {A_ {mc "Staged for commit"}} @@ -3533,8 +3535,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 { -- 1.7.3.2.1200.ge4bf6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html