--- resend based on feedback --- The first five patches in this series remove revlog.reachable, update call sites to use ancestors, and switch the code from nodespace to revspace. The final patch optimizes strip() to update the branchheads cache rather than invalidate it.