Hi, Johannes Schindelin wrote: >>. Set up `info/grafts` to lie to the local git that Linux kernel >> history began at v2.6.14 version. > Maybe also record this in .git/config, so that you can I like that "config" thing less and less every day. It appears to become a kind of registry, where having dedicated files for specific functionality would provide the robustness of tools not having to touch things they do not care about; but that's just personal opinion. > - disallow fetching from this repo, and Why? It's perfectly acceptable to pull from an incomplete repo, as long as you don't care about the old history. > - easily extend the shallow copy to a larger shallow one, or a full one. Hrm, I think there should also be a way to shrink a repo and "forget" old history occasionally (obviously, use of that feature would be highly discouraged). >>. Run `git fetch git://.../linux-2.6 master`, with a local ref >> pointing at v2.6.14 commit, to pretend that we have everything >> up to v2.6.14 to `upload-pack` running on the other end. > How about refs/tags/start_shallow? No, as that would imply that cloning from such a repo is disallowed. IMO, it may be a lot more robust to just have a list of "cutoff" object ids in .git/shallow instead of messing with grafts here, as adding or removing a line from that file is an easier thing to do for porcelain (or by hand) than rewriting the grafts file. Whether that list would be inclusive or exclusive would need to be decided still. Simon