summaryrefslogtreecommitdiff
path: root/diff-lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'diff-lib.c')
-rw-r--r--diff-lib.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/diff-lib.c b/diff-lib.c
index d7e13cb177..15ca7cdac2 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -180,10 +180,10 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
changed = ce_match_stat(ce, &st, ce_option);
if (S_ISGITLINK(ce->ce_mode)
&& !DIFF_OPT_TST(&revs->diffopt, IGNORE_SUBMODULES)
- && (!changed || (revs->diffopt.output_format & DIFF_FORMAT_PATCH))
- && is_submodule_modified(ce->name)) {
- changed = 1;
- dirty_submodule = 1;
+ && (!changed || (revs->diffopt.output_format & DIFF_FORMAT_PATCH))) {
+ dirty_submodule = is_submodule_modified(ce->name);
+ if (dirty_submodule)
+ changed = 1;
}
if (!changed) {
ce_mark_uptodate(ce);
@@ -243,10 +243,10 @@ static int get_stat_data(struct cache_entry *ce,
changed = ce_match_stat(ce, &st, 0);
if (S_ISGITLINK(ce->ce_mode)
&& !DIFF_OPT_TST(diffopt, IGNORE_SUBMODULES)
- && (!changed || (diffopt->output_format & DIFF_FORMAT_PATCH))
- && is_submodule_modified(ce->name)) {
- changed = 1;
- *dirty_submodule = 1;
+ && (!changed || (diffopt->output_format & DIFF_FORMAT_PATCH))) {
+ *dirty_submodule = is_submodule_modified(ce->name);
+ if (*dirty_submodule)
+ changed = 1;
}
if (changed) {
mode = ce_mode_from_stat(ce, st.st_mode);