Как определить, нужно ли git_commit_create () после слияния ()? - PullRequest
0 голосов
/ 18 мая 2018

Когда я использую libgit2 для обновления данных, pull создает ненужные краткосрочные ответвления и слияния, которые являются головной болью для решения.и каждое слияние производило новый oid, поэтому должна быть функция, чтобы определить, нужен ли коммит слияния перед коммитом слияния.Интересно, если это хорошая практика, то как лучше это сделать?

1 Ответ

0 голосов
/ 19 мая 2018

Если вы хотите проанализировать, требуется ли объединение между двумя ветвями, или если вместо этого оно является быстродействующим, используйте функцию 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, чтобы узнать, просил ли пользователь никогда не выполнять перемотку вперед.

...