Merge branch 'pb/merge-autostash-more'
The local changes stashed by "git merge --autostash" were lost when the merge failed in certain ways, which has been corrected. * pb/merge-autostash-more: merge: apply autostash if merge strategy fails merge: apply autostash if fast-forward fails Documentation: define 'MERGE_AUTOSTASH' merge: add missing word "strategy" to a message
This commit is contained in:
@ -1561,6 +1561,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
&head_commit->object.oid,
|
||||
&commit->object.oid,
|
||||
overwrite_ignore)) {
|
||||
apply_autostash(git_path_merge_autostash(the_repository));
|
||||
ret = 1;
|
||||
goto done;
|
||||
}
|
||||
@ -1709,6 +1710,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
else
|
||||
fprintf(stderr, _("Merge with strategy %s failed.\n"),
|
||||
use_strategies[0]->name);
|
||||
apply_autostash(git_path_merge_autostash(the_repository));
|
||||
ret = 2;
|
||||
goto done;
|
||||
} else if (best_strategy == wt_strategy)
|
||||
@ -1716,7 +1718,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
else {
|
||||
printf(_("Rewinding the tree to pristine...\n"));
|
||||
restore_state(&head_commit->object.oid, &stash);
|
||||
printf(_("Using the %s to prepare resolving by hand.\n"),
|
||||
printf(_("Using the %s strategy to prepare resolving by hand.\n"),
|
||||
best_strategy);
|
||||
try_merge_strategy(best_strategy, common, remoteheads,
|
||||
head_commit);
|
||||
|
Reference in New Issue
Block a user