On 8/15/2018 7:01 PM, Junio C Hamano wrote:
* ds/commit-graph-with-grafts (2018-07-19) 8 commits
(merged to 'next' on 2018-08-02 at 0ee624e329)
+ commit-graph: close_commit_graph before shallow walk
+ commit-graph: not compatible with uninitialized repo
+ commit-graph: not compatible with grafts
+ commit-graph: not compatible with replace objects
+ test-repository: properly init repo
+ commit-graph: update design document
+ refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
+ refs.c: migrate internal ref iteration to pass thru repository argument
The recently introduced commit-graph auxiliary data is incompatible
with mechanisms such as replace & grafts that "breaks" immutable
nature of the object reference relationship. Disable optimizations
based on its use (and updating existing commit-graph) when these
incompatible features are in use in the repository.
Perhaps eject and replace with another reroll when it comes.
cf. <a3640919-95cf-cca4-d552-4715a031dd7f@xxxxxxxxx>
cf. <86bmap7l7a.fsf@xxxxxxxxx>
Yes, I am working on a re-roll. Feel free to eject in the meantime.
For one, I need to base it on jk/core-use-replace-refs. This is not
hard, as it is already in master.
For two, I was waiting for resolution on the way to handle arbitrary
repositories in for_each_replace_ref. Stefan had a few proposed patches,
but they don't seem to have completed. Can someone fill me in on the
status there? I could re-roll with the two simple patches that I have,
which send the struct repository pointer into the 'void *' data parameter.
Finally, I have some non-trivial feedback from Jakub to work on.
Thanks,
-Stolee