[PATCH 4/5] unpack-trees: oneway_merge to update submodules
- From
Stefan Beller <sbeller@google.com>
- Date
- Jan 3, 2018, 01:12 UTC
- Message-ID
- <20180103011226.160185-5-sbeller@google.com>
- In-Reply-To
- <20180103011226.160185-1-sbeller@google.com>
When there is a one way merge, each submodule needs to be one way merged as well, if we're asked to recurse into submodules.
In case of a submodule, check if it is up-to-date, otherwise set the flag CE_UPDATE, which will trigger an update of it in the phase updating the tree later.
Signed-off-by: Stefan Beller <sbeller@google.com> --- unpack-trees.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/unpack-trees.c b/unpack-trees.c index bf8b602901..7657d6ecdd 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -2139,6 +2139,9 @@ int oneway_merge(const struct cache_entry * const *src, ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE)) update |= CE_UPDATE; } + if (S_ISGITLINK(old->ce_mode) && should_update_submodules() && + o->update && !verify_uptodate(old, o)) + update |= CE_UPDATE; add_entry(o, old, update, 0); return 0; }
-- 2.15.1.620.gb9897f4670-goog