Re: [PATCH v2 05/20] sparse-index: implement ensure_full_index()
From: Derrick Stolee <hidden>
Date: 2021-03-12 20:12:13
On 3/12/2021 3:08 PM, Junio C Hamano wrote:
Derrick Stolee [off-list ref] writes:quoted
quoted
Ævar, the assumption that led to your e68237bb (tree.h API: remove support for starting at prefix != "", 2021-03-08) closes the door for this code rather badly. Please work with Derrick to figure out what the best course of action would be.Thanks for pointing this out, Junio. My preference would be to drop "tree.h API: remove support for starting at prefix != """, but it should be OK to keep "tree.h API: remove "stage" parameter from read_tree_recursive()" (currently b3a078863f6), even though it introduces a semantic conflict here. Since I haven't seen my sparse-index topic get picked up by a tracking branch, I'd be happy to rebase on top of Ævar's topic if I can still set a non-root prefix.I think all the clean-up value e68237bb has are on the calling side (they no longer have to pass constant ("", 0) to the function), and we could rewrite e68237bb by - renaming "read_tree_recursive()" to "read_tree_at()", with the non-empty prefix support. - creating a new function "read_tree()", which lacks the support for prefix, as a thin-wrapper around "read_tree_at()". - modifying the callers of "read_tree_recursive()" changed by e68237bb to instead call "read_tree()" (without prefix). to simplify majority of calling sites without losing functionality. Then your [05/20] can use the read_tree_at() to read with a prefix. But that kind of details, I'd want to see you two figure out yourselves.
You've given us a great proposal. I'll wait for Ævar to chime in (and probably update his topic) before I submit a new version. Thanks, -Stolee