Code

git-gui: name also new symlinks so
authorBert Wesarg <bert.wesarg@googlemail.com>
Thu, 9 Dec 2010 20:47:54 +0000 (21:47 +0100)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 28 Jan 2011 09:01:17 +0000 (09:01 +0000)
and rename them only in the diff header

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
lib/diff.tcl

index 0b72924f7a9ecc02480ebe94b7f3aa4d27e399f0..aa300891aa644419186d947c98cc6bc10841b8ac 100644 (file)
@@ -406,12 +406,13 @@ proc read_diff {fd conflict_size cont_info} {
                            || [string match {index *}           $line]} {
                                continue
                        }
-               }
 
-               if {$line eq {deleted file mode 120000}} {
-                       set line "deleted symlink"
+                       # -- Name it symlink, not 120000
+                       #    Note, that the original line is in $current_diff_header
+                       regsub {^(deleted|new) file mode 120000} $line {\1 symlink} line
                }
 
+
                # -- Automatically detect if this is a 3 way diff.
                #
                if {[string match {@@@ *} $line]} {set is_3way_diff 1}
@@ -421,6 +422,7 @@ proc read_diff {fd conflict_size cont_info} {
                        || [regexp {^(old|new) mode *} $line]
                        || [string match {deleted file *} $line]
                        || [string match {deleted symlink} $line]
+                       || [string match {new symlink} $line]
                        || [string match {Binary files * and * differ} $line]
                        || $line eq {\ No newline at end of file}
                        || [regexp {^\* Unmerged path } $line]} {