Если вы хотите проанализировать, требуется ли объединение между двумя ветвями, или если вместо этого оно является быстродействующим, используйте функцию git_merge_analysis
:
git_merge_analysis_t analysis;
git_merge_preference_t preference;
int error = git_merge_analysis(&analysis, &preference, repo, merge_heads, merge_head_len);
if (analysis == GIT_MERGE_ANALYSIS_FASTFORWARD) {
/* You can simply do a fast-forward */
} else {
/* You need to do a true merge */
}
Вы можетехотите изучить preference
, чтобы узнать, просил ли пользователь никогда не выполнять перемотку вперед.