In the try_merge_strategy function the expression in the following if statement seems to always evaluate to TRUE: if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) { If strategy is "recursive" then !strcmp(strategy, "subtree") evaluates to TRUE. If strategy is "subtree" then !strcmp(strategy, "recursive") evaluates to TRUE. If strategy is neither "recursive" nor "subtree" then any side of || evaluates to TRUE. Looks like the code in the else block is unreachable? Saša Živkov -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html