[PATCH] git-gui: handle symlink replaced by file
From: Pat Thoyts <hidden>
Date: 2016-06-15 22:49:55
If a symlink is replaced by a regular file an error message was emitted on stdout. This patch adds recognition of this case. Reported-by: Bert Wesarg <redacted> Signed-off-by: Pat Thoyts <redacted> --- Bert Wesarg [off-list ref] writes:
Hi,
I get this error from git gui after I changed a symlink to a file:
error: Unhandled 2 way diff marker: {d}
To reproduce:
$ git init
$ ln -s bar foo
$ git add foo
$ git commit -m "add foo link"
$ rm foo
$ echo bar >foo
$ git gui
error: Unhandled 2 way diff marker: {d}
I may have a look into this by my self in the long term, but maybe
someone is faster than me.This patch just handles the second segment without generating the error really. It doesn't attempt to do any pretty output. lib/diff.tcl | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/lib/diff.tcl b/lib/diff.tcl
index c628750..4d041fa 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl@@ -428,6 +428,14 @@ proc read_diff {fd cont_info} { set tags d_+ } } + {d} { + if {[string match {diff --git *} $line]} { + set ::current_diff_inheader 1 + continue + } else { + puts "error: unrecognized operation: '$line'" + } + } default { puts "error: Unhandled 2 way diff marker: {$op}" set tags {}
--
1.7.3.1.msysgit.0