commit - eac9755fe4356f03aa21a52a38051be0d022fcf6
commit + 381be7cc5b9b3d938b44f0f30dafdecf1c2f5a6b
blob - 762a4ef12b023b11278b8b1c36cf0b4feadfe1db
blob + 1a57978e5b801e3f05e7fc89d8229263b8f664cf
--- lib/worktree.c
+++ lib/worktree.c
repo, progress_cb, progress_arg, progress_path);
break;
case GOT_OBJ_TYPE_TREE:
- err = got_object_tree_open(&tree, repo, obj);
- if (err)
- goto done;
if (strlen(worktree->path_prefix) < strlen(path)) {
err = add_dir_on_disk(worktree, path);
if (err)
break;
}
+ err = got_object_tree_open(&tree, repo, obj);
+ if (err)
+ goto done;
/* XXX infinite recursion possible */
err = tree_checkout(worktree, fileindex, tree, path, repo,
progress_cb, progress_arg, cancel_cb, cancel_arg);