diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2005-12-26 22:31:42 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-12-26 18:33:27 -0800 |
commit | 975b31dc6e12fba8f7b067ddbe32230995e05400 (patch) | |
tree | 41899493fc7a44c9a601c621e4857ceaee13eb88 /diff.c | |
parent | c97451ce0985e7fc6515cde84a9ad527727b69ea (diff) | |
download | git-975b31dc6e12fba8f7b067ddbe32230995e05400.tar.gz git-975b31dc6e12fba8f7b067ddbe32230995e05400.tar.xz |
Handle symlinks graciously
This patch converts a stat() to an lstat() call, thereby fixing the case
when the date of a symlink was not the same as the one recorded in the
index. The included test case demonstrates this.
This is for the case that the symlink points to a non-existing file. If
the file exists, worse things than just an error message happen.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -650,7 +650,7 @@ static void diff_fill_sha1_info(struct diff_filespec *one) if (DIFF_FILE_VALID(one)) { if (!one->sha1_valid) { struct stat st; - if (stat(one->path, &st) < 0) + if (lstat(one->path, &st) < 0) die("stat %s", one->path); if (index_path(one->sha1, one->path, &st, 0)) die("cannot hash %s\n", one->path); |