[PATCH] git-gui: handle symlink replaced by file

Subsystems: library code, the rest

STALE3730d

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[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

Re: [PATCH] git-gui: handle symlink replaced by file

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:49:58

On Thu, Oct 28, 2010 at 14:27, Pat Thoyts
[off-list ref] wrote:
This patch just handles the second segment without generating the error
really. It doesn't attempt to do any pretty output.
Thanks for the patch. I haven't test it yet. Actually I can't find
documentation, that git outputs two diffs when the path changes the
type. And I have no idea how to present this in git gui.

Bert

Re: [PATCH] git-gui: handle symlink replaced by file

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:50:11

On Wed, Nov 3, 2010 at 21:07, Bert Wesarg [off-list ref] wrote:
On Thu, Oct 28, 2010 at 14:27, Pat Thoyts
[off-list ref] wrote:
quoted
This patch just handles the second segment without generating the error
really. It doesn't attempt to do any pretty output.
Thanks for the patch. I haven't test it yet. Actually I can't find
documentation, that git outputs two diffs when the path changes the
type. And I have no idea how to present this in git gui.
I have a better fix for this. But haven't the time to send it yet.

Bert
Bert
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help