On Tue, Mar 8, 2016 at 7:14 PM, Jeff King <[email protected]> wrote:
> ...
>
> So I think the solution to both is that we need to do a _separate_
> traversal with all of the positive tips we're going to send, and the
> parents of any shallow commits the client has, to find their fork points
> (i.e., merge bases). And then we add those fork points to the shallow
> list (grafting out their parents), and communicate them to the client to
> add to its shallow setup.

Good news. We have the mechanism in place, I think.
get_shallow_commits_by_rev_list() (from 'pu') will produce the right
shallow points for sending back to the client if you pass "--not
<current shallow points>" to it. It's meant to be used for
--shallow-exclude and --shallow-since, but if neither is given (nor
--depth) I guess we can run it with current shallow points. I wonder
if we can detect some common cases and avoid commit traversing this
way though.
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to