I took another look at this and tried to simplify things. The main points were: - there is a real bug - it can be fixed by relying on get_reference() more - but there was some discussion about what get_reference() does, so I added some documentation first Hopefully those main points were adequately conveyed in the new commit messages, and I didn't oversimplify things. There was some discussion about whether get_reference() should treat corrupt objects as missing. After some thought, I think the best argument for doing so is that this has been its behavior for some time, and have wrote that in the first commit. Jonathan Tan (2): revision: document get_reference() revision: un-regress --exclude-promisor-objects revision.c | 12 +++++++++++- t/t0410-partial-clone.sh | 12 +++--------- 2 files changed, 14 insertions(+), 10 deletions(-) -- 2.25.0.rc1.283.g88dfdc4193-goog