summaryrefslogtreecommitdiff
path: root/diff-lib.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-03-05 01:31:09 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-03-05 01:31:09 (GMT)
commite6f95113431f7e69263bc3d075c0a7715ce587e3 (patch)
tree810569356f64b58df52560fcce0d3cfb561014ab /diff-lib.c
parent784b11cd05e7862b0fbcc1251a65669c7004a8df (diff)
parenta249a9b5a26e841a28f6e993a560d749303cf91c (diff)
downloadgit-e6f95113431f7e69263bc3d075c0a7715ce587e3.zip
git-e6f95113431f7e69263bc3d075c0a7715ce587e3.tar.gz
git-e6f95113431f7e69263bc3d075c0a7715ce587e3.tar.bz2
Merge branch 'js/symlink'
* js/symlink: Tell multi-parent diff about core.symlinks. Handle core.symlinks=false case in merge-recursive. Add core.symlinks to mark filesystems that do not support symbolic links.
Diffstat (limited to 'diff-lib.c')
-rw-r--r--diff-lib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/diff-lib.c b/diff-lib.c
index 88e59b5..778cf58 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -412,6 +412,9 @@ int run_diff_files(struct rev_info *revs, int silent_on_removed)
S_ISREG(newmode) && S_ISREG(oldmode) &&
((newmode ^ oldmode) == 0111))
newmode = oldmode;
+ else if (!has_symlinks &&
+ S_ISREG(newmode) && S_ISLNK(oldmode))
+ newmode = oldmode;
diff_change(&revs->diffopt, oldmode, newmode,
ce->sha1, (changed ? null_sha1 : ce->sha1),
ce->name, NULL);