diff options
Diffstat (limited to 'diff-lib.c')
| -rw-r--r-- | diff-lib.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/diff-lib.c b/diff-lib.c index 5848e4f9ca..6c8df04273 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -2,7 +2,6 @@ * Copyright (C) 2005 Junio C Hamano */ #include "git-compat-util.h" -#include "quote.h" #include "commit.h" #include "diff.h" #include "diffcore.h" @@ -38,7 +37,13 @@ */ static int check_removed(const struct cache_entry *ce, struct stat *st) { - if (lstat(ce->name, st) < 0) { + int stat_err; + + if (!(ce->ce_flags & CE_FSMONITOR_VALID)) + stat_err = lstat(ce->name, st); + else + stat_err = fake_lstat(ce, st); + if (stat_err < 0) { if (!is_missing_file_error(errno)) return -1; return 1; @@ -571,8 +576,6 @@ void diff_get_merge_base(const struct rev_info *revs, struct object_id *mb) struct object *obj = revs->pending.objects[i].item; if (obj->flags) die(_("--merge-base does not work with ranges")); - if (obj->type != OBJ_COMMIT) - die(_("--merge-base only works with commits")); } /* |
