commit c1b057235b48f7b8bc01bd3c31348517856bc68b from: Stefan Sperling date: Tue Sep 28 20:56:05 2021 UTC make 'got merge' interrupt the merge upon undeleted and unversioned files commit - 35ca1db76b33010a85a6d0e68e5d78d451028269 commit + c1b057235b48f7b8bc01bd3c31348517856bc68b blob - 46e43986431c8a31897485cce9e5e344d30c1afe blob + 5aa3eb413b775cdcac39caf15b875eb40f76ad63 --- got/got.c +++ got/got.c @@ -10824,24 +10824,26 @@ cmd_merge(int argc, char *argv[]) if (error) goto done; printf("Merge of %s interrupted on request\n", branch_name); - } else if (upa.conflicts > 0 || upa.missing > 0) { + } else if (upa.conflicts > 0 || upa.missing > 0 || + upa.not_deleted > 0 || upa.unversioned > 0) { error = got_worktree_merge_postpone(worktree, fileindex); if (error) goto done; - if (upa.conflicts > 0 && upa.missing == 0) { + if (upa.conflicts > 0 && upa.missing == 0 && + upa.not_deleted == 0 && upa.unversioned == 0) { error = got_error_msg(GOT_ERR_CONFLICTS, "conflicts must be resolved before merging " "can continue"); } else if (upa.conflicts > 0) { error = got_error_msg(GOT_ERR_CONFLICTS, "conflicts must be resolved before merging " - "can continue; changes destined for missing " + "can continue; changes destined for some " "files were not yet merged and " "should be merged manually if required before the " "merge operation is continued"); } else { error = got_error_msg(GOT_ERR_CONFLICTS, - "changes destined for missing " + "changes destined for some " "files were not yet merged and should be " "merged manually if required before the " "merge operation is continued"); blob - 9ccf58a99fdd79c9cbff150bd8b95494b4706cd0 blob + be7e58787cda7e3de992a5142542bebcf76ab385 --- regress/cmdline/merge.sh +++ regress/cmdline/merge.sh @@ -997,7 +997,7 @@ test_merge_missing_file() { return 1 fi - echo -n "got: changes destined for missing files " \ + echo -n "got: changes destined for some files " \ > $testroot/stderr.expected echo -n "were not yet merged and should be merged manually if " \ >> $testroot/stderr.expected