On 1/31/2020 5:30 AM, Jeff King wrote: > On Thu, Jan 30, 2020 at 03:00:40PM -0800, Taylor Blau wrote: > >> This series became a little bit longer than I was expecting it to be, so >> here is the high-level structure: >> >> - 1/6 fixes a bug in a test that would cause a subsequent failure if >> unaddressed. >> >> - 2/6 does the first half of the removal by using 'struct >> object_directory *'s within the 'commit_graph' structure. >> >> - 4/6 does the second half by removing 'char *object_dir' usage in the >> 'write_commit_graph_context' structure. >> >> - 5/6 ties 2/6 and 4/6 together by removing all path normalization >> completely, fixing the uninitialized read bug. >> >> - And 6/6 cleans up. > > With the exception of the patch-ordering discussion in the sub-thread > with Martin, this looks good to me. I agree. Martin's comment is a good one. I can't find anything else to improve the series. > Patch 3 is a change in user-visible behavior, as it restricts how > --object-dir can be used (it must be the main object-dir or an alternate > within the repository). I don't _think_ anybody would care, as the > semantics of those options seemed kind of ill-defined to me in the first > place. But it's worth calling out as a potential risk. I suppose the > alternative is to make a one-off fake "struct object_directory" within > the process that isn't connected to the repository. But if nobody cares, > I'd just as soon avoid that. I think that this change of behavior is fine, especially because if someone writes a commit-graph to an --object-dir that is not an alternate, then that repo will not discover the new commit-graph anyway. I do like that you state a possible work-around in case someone shows up with a legitimate use case for a non-alternate object-dir. Thanks, -Stolee