My idea for lazy clone/fetch (lazy = on-demand) is via remote alternatives mechanism. We put URI for repository (repositories) that hosts the project, and we would need at start to download at least heads and tags, and only heads and tags. When there is request for an object (commit, tree, blob or tag) which we don't have locally, we ask remote repository if it have it, and download it (and perhaps some related objects); this needs extension I guess for the git downloader ('wantonly'), it should be fairly easy for dumb downloaders if you don't mind getting whole pack i.e. perhaps more than intended. Perhaps 'wantonly' for git protocol should work the same: one would get ready pack (perhaps with limit on pack size: otherwise one would get only the requested objects). One thing that needs extending for lazy clone is git-fsck... otherwise you would get whole repository when calling git-fsck. Simplest would be fsck-ing only the local part, perhaps checking if the "missing" objects are present in remote repository, but not downloading them and not checking connectivity further... and of course notifying user that this is lazy clone. Unless we run git-fsck-objects on the remote side, then pass results to the local side. There is probably bunch of problems with this idea... -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: 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