[PATCH] Fix git-diff-files for symlinks.
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 12, 2005, 23:51 UTC
- Message-ID
- <7vekccc8b7.fsf_-_@assigned-by-dhcp.cox.net>
- In-Reply-To
- <20050512192941.GC324@pasky.ji.cz>
Again I am not sure why this was missed during the last round, but git-diff-files mishandles symlinks on the filesystem. This patch fixes it.
Signed-off-by: Junio C Hamano <junkio@cox.net> ---
*** Petr, this one falls into "emergency obvious fix" category. *** I found it during adding more "basic" test to the test suite, *** which turns out to be quite useful.
diff-files.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-)
--- a/diff-files.c +++ b/diff-files.c @@ -126,7 +126,8 @@ continue; oldmode = ntohl(ce->ce_mode); - mode = S_IFREG | ce_permissions(st.st_mode); + mode = (S_ISLNK(st.st_mode) ? S_IFLNK : + S_IFREG | ce_permissions(st.st_mode)); show_modified(oldmode, mode, ce->sha1, null_sha1, ce->name); ------------------------------------------------