This is a knee-jerk reaction without thinking things thoroughly through, but wouldn't it make more sense to do this by conditionally calling merge_submodule() when !o->call_depth, leaving the callee oblivious to what is in the "merge_options" structure? That way, you do not have to touch submodule.c at all, I would think. After all, merge_submodule() should be usable in a future merge strategy that is different from recursive and has no notion of call_depth. -- 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