diff options
Diffstat (limited to 'diff-lib.c')
-rw-r--r-- | diff-lib.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/diff-lib.c b/diff-lib.c index 083e18dc9d..e533b436af 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -1,16 +1,24 @@ /* * Copyright (C) 2005 Junio C Hamano */ -#include "cache.h" +#include "git-compat-util.h" #include "quote.h" #include "commit.h" #include "diff.h" #include "diffcore.h" +#include "gettext.h" +#include "hash.h" +#include "hex.h" +#include "object-name.h" +#include "read-cache.h" #include "revision.h" #include "cache-tree.h" #include "unpack-trees.h" #include "refs.h" +#include "repository.h" #include "submodule.h" +#include "symlinks.h" +#include "trace.h" #include "dir.h" #include "fsmonitor.h" #include "commit-reach.h" @@ -581,7 +589,7 @@ void diff_get_merge_base(const struct rev_info *revs, struct object_id *mb) if (revs->pending.nr == 1) { struct object_id oid; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) die(_("unable to get HEAD")); mb_child[1] = lookup_commit_reference(the_repository, &oid); @@ -664,8 +672,15 @@ int index_differs_from(struct repository *r, setup_revisions(0, NULL, &rev, &opt); rev.diffopt.flags.quick = 1; rev.diffopt.flags.exit_with_status = 1; - if (flags) + if (flags) { diff_flags_or(&rev.diffopt.flags, flags); + /* + * Now that flags are merged, honor override_submodule_config + * and ignore_submodules from passed flags. + */ + if (flags->override_submodule_config) + rev.diffopt.flags.ignore_submodules = flags->ignore_submodules; + } rev.diffopt.ita_invisible_in_index = ita_invisible_in_index; run_diff_index(&rev, 1); has_changes = rev.diffopt.flags.has_changes; @@ -673,7 +688,7 @@ int index_differs_from(struct repository *r, return (has_changes != 0); } -static struct strbuf *idiff_prefix_cb(struct diff_options *opt, void *data) +static struct strbuf *idiff_prefix_cb(struct diff_options *opt UNUSED, void *data) { return data; } |