commit d70b8e30048dfb40e323d6998034d9033152a0f7 from: Stefan Sperling date: Thu Dec 27 19:35:14 2018 UTC allow checkout on top of an existing tree commit - 3c5b70f243d342b665371bd2991eef14cee5a38a commit + d70b8e30048dfb40e323d6998034d9033152a0f7 blob - fec08d6e7aa2616d656e927be6b0417754d3c805 blob + 1041ba9f746d2e50dbc3151ae17cbe88466e5719 --- got/got.c +++ got/got.c @@ -276,7 +276,7 @@ cmd_checkout(int argc, char *argv[]) goto done; error = got_worktree_init(worktree_path, head_ref, path_prefix, repo); - if (error != NULL) + if (error != NULL && !(error->code == GOT_ERR_ERRNO && errno == EEXIST)) goto done; error = got_worktree_open(&worktree, worktree_path); blob - 7329316b310613cfdcacbc4879f7c0c512fd3aa4 blob + 70d2944f783fc2d8612eab23dfb9e6774ce204ac --- lib/worktree.c +++ lib/worktree.c @@ -426,6 +426,9 @@ add_file_on_disk(struct got_worktree *worktree, struct } else if (!S_ISREG(sb.st_mode)) { /* TODO file is obstructed; do something */ err = got_error(GOT_ERR_FILE_OBSTRUCTED); + } else { + /* TODO: Merge the file! */ + return NULL; } } return err;