aboutsummaryrefslogtreecommitdiff
path: root/unpack-trees.c
diff options
context:
space:
mode:
authorStefan Beller <stefanbeller@gmail.com>2014-08-12 16:59:31 -0700
committerJunio C Hamano <gitster@pobox.com>2014-08-13 10:32:08 -0700
commit0ecd180a27eab7c576feddc6f2be0626a1e0630b (patch)
treec6215a8a48a1c5514dddfd9f772fb0dbbcf2a9b2 /unpack-trees.c
parente6aaa393478bf3ee9f4cde8d82cd258c034cd335 (diff)
downloadgit-0ecd180a27eab7c576feddc6f2be0626a1e0630b.tar.gz
git-0ecd180a27eab7c576feddc6f2be0626a1e0630b.tar.xz
unpack-trees: simplify 'all other failures' case
In the 'if (current)' block of twoway_merge, we handle the boring errors by checking if the entry from the old tree, current index, and new tree are present, to get a pathname for the error message from one of them: if (oldtree) return o->gently ? -1 : reject_merge(oldtree, o); if (current) return o->gently ? -1 : reject_merge(current, o); if (newtree) return o->gently ? -1 : reject_merge(newtree, o); return -1; Since this is guarded by 'if (current)', the second test is guaranteed to succeed. Moreover, any of the three entries, if present, would have the same path because there is no rename detection in this code path. Even if some day in the future the entries' paths differ, the 'current' path used in the index and worktree would presumably be the most recognizable for the end user. Simplify by just using 'current'. Noticed by coverity, Id:290002 Signed-off-by: Stefan Beller <stefanbeller@gmail.com> Improved-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'unpack-trees.c')
-rw-r--r--unpack-trees.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/unpack-trees.c b/unpack-trees.c
index ad3e9a04f..f4a9aa97a 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -1791,16 +1791,8 @@ int twoway_merge(const struct cache_entry * const *src,
/* 20 or 21 */
return merged_entry(newtree, current, o);
}
- else {
- /* all other failures */
- if (oldtree)
- return o->gently ? -1 : reject_merge(oldtree, o);
- if (current)
- return o->gently ? -1 : reject_merge(current, o);
- if (newtree)
- return o->gently ? -1 : reject_merge(newtree, o);
- return -1;
- }
+ else
+ return o->gently ? -1 : reject_merge(current, o);
}
else if (newtree) {
if (oldtree && !o->initial_checkout) {