I wonder if 'sparse clone' idea described below would avoid the most difficult part of 'shallow clone' idea, namely the [sometimes] need to un-cauterize history. See: (<7vac8lidwi.fsf@xxxxxxxxxxxxxxxxxxxxxxxx>). 'sparse clone' begins like 'shallow clone': full history is copied down to specified point of history (cut-off or cauterization point for shallow clone), but instead of cauterizing the history from that point downwards, the history is simplified using grafts. In the sparse part we need: * all commits pointed by tags (if we clone/copy tags) and other refs (if we clone/copy those tags) * merge bases for all commits in full, and in the sparse part, _including_ merge bases themselves * all roots Commits in sparse part would be connected like in original history, only skipping "uniteresting" commits. Thoughts? Comments? -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html