In remote.go in getHaves, getHavesRef fails with object not found error when
iterating over incomplete history.
This causes Fetch to fail under certain circumstances, such as (at least) when fetching remotes with unrelated histories.
This likely happens because commits are processed in Preorder and once it reaches the last commit fetched with a given Depth, it fails for find its parent.
Suggestion Short Term
Ignore object not found error during a fetch operation
Suggestion Long Term
Add a terminal empty commit after fetch with a certain depth, to signify that no further commits can be reached. This will guarantee that object not found error if it happens, happens because of corrupt data as opposed to truncated history.
In
remote.go
ingetHaves
,getHavesRef
fails withobject not found
error when iterating over incomplete history.This causes
Fetch
to fail under certain circumstances, such as (at least) when fetching remotes with unrelated histories.This likely happens because commits are processed in
Preorder
and once it reaches the last commit fetched with a given Depth, it fails for find its parent.Suggestion Short Term
Ignore object not found error during a fetch operation
Suggestion Long Term
Add a terminal empty commit after fetch with a certain depth, to signify that no further commits can be reached. This will guarantee that
object not found
error if it happens, happens because of corrupt data as opposed to truncated history.