tree: use the basename for the entry removal When we want to remove the file, use the basename as the name of the entry to remove, instead of the full one, which includes the directories we've inserted into the stack.
diff --git a/src/tree.c b/src/tree.c
index af293d2..c5a13ea 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -1230,7 +1230,7 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
break;
}
case GIT_TREE_UPDATE_REMOVE:
- error = git_treebuilder_remove(git_array_last(stack)->bld, update->path);
+ error = git_treebuilder_remove(git_array_last(stack)->bld, git_path_basename(update->path));
break;
default:
giterr_set(GITERR_TREE, "unkown action for update");