git-gui: Support conflict states _U & UT.
Support _U (local deleted, remote modified) and
UT (file type changed in conflict) modes.
Note that 'file type changed' does not refer to
changes in the executable bit, instead it denotes
replacing a file with a link, or vice versa.
Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
diff --git a/lib/commit.tcl b/lib/commit.tcl
index f4ab707..2977315 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -151,6 +151,7 @@
D? -
T_ -
M? {set files_ready 1}
+ _U -
U? {
error_popup [mc "Unmerged files cannot be committed.
diff --git a/lib/diff.tcl b/lib/diff.tcl
index 4a7138b..14a479f 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -166,7 +166,7 @@
lappend cmd diff-index
lappend cmd --cached
} elseif {$w eq $ui_workdir} {
- if {[string index $m 0] eq {U}} {
+ if {[string first {U} $m] >= 0} {
lappend cmd diff
} else {
lappend cmd diff-files
diff --git a/lib/index.tcl b/lib/index.tcl
index d011406..b045219 100644
--- a/lib/index.tcl
+++ b/lib/index.tcl
@@ -164,6 +164,7 @@
_O -
AM {set new A_}
_T {set new T_}
+ _U -
U? {
if {[file exists $path]} {
set new M_