From: Junio C Hamano Date: Mon, 25 Jul 2016 21:13:38 +0000 (-0700) Subject: Merge branch 'jc/renormalize-merge-kill-safer-crlf' X-Git-Tag: v2.10.0-rc0~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=21bed620cd2d4fc4fb3d42447136c9f899ede5bb;p=thirdparty%2Fgit.git Merge branch 'jc/renormalize-merge-kill-safer-crlf' "git merge" with renormalization did not work well with merge-recursive, due to "safer crlf" conversion kicking in when it shouldn't. * jc/renormalize-merge-kill-safer-crlf: merge: avoid "safer crlf" during recording of merge results convert: unify the "auto" handling of CRLF --- 21bed620cd2d4fc4fb3d42447136c9f899ede5bb diff --cc merge-recursive.c index 48fe7e7386,de37e5153c..a4a1195f61 --- a/merge-recursive.c +++ b/merge-recursive.c @@@ -202,12 -202,21 +202,21 @@@ static int add_cacheinfo(unsigned int m const char *path, int stage, int refresh, int options) { struct cache_entry *ce; - ce = make_cache_entry(mode, oid ? oid->hash : null_sha1, path, stage, - (refresh ? (CE_MATCH_REFRESH | - CE_MATCH_IGNORE_MISSING) : 0 )); + int ret; + - ce = make_cache_entry(mode, sha1 ? sha1 : null_sha1, path, stage, 0); ++ ce = make_cache_entry(mode, oid ? oid->hash : null_sha1, path, stage, 0); if (!ce) return error(_("addinfo_cache failed for path '%s'"), path); - return add_cache_entry(ce, options); + + ret = add_cache_entry(ce, options); + if (refresh) { + struct cache_entry *nce; + + nce = refresh_cache_entry(ce, CE_MATCH_REFRESH | CE_MATCH_IGNORE_MISSING); + if (nce != ce) + ret = add_cache_entry(nce, options); + } + return ret; } static void init_tree_desc_from_tree(struct tree_desc *desc, struct tree *tree)