Andreas Ericsson wrote:
Christian Jaeger wrote:
Andreas Ericsson wrote:
Christian Jaeger wrote:
If you really wanted, I suppose you could additionally look into
implementing a kind of shallow cloning that only copies objects
over the wire which are necessary for representing the subdirectory
you're interested in.
So what do you do when one such commit also affects something outside
the subdirectory?
You haven't said what you mean with "affect".
I mean "how would you handle a commit (and its tree-object) that updates
all Makefiles in, for example, the Linux kernel project?". Those files
are spread far and wide, and you'd want that change to *your* tree, but
getting it into your tree either means you need to rewrite the tree (and
thereby the commit) itself to get rid of uninteresting blob's from the
tree, and you'd also have to prune the tree to not reveal the directory
layout of the rest of the repository.
You have said "either" but not "or".
I take it parentage could be resolved by a ridiculously large
grafts-file.
Hm, not sure whether you mean to rescue the situation with rewritten
commits here -- but hell no, I certainly don't mean to have different
commit objects for different clones/checkouts.
What you'd end up with wouldn't be a git repository at all anymore. It
would be a "stump", as it'd be missing large parts of the tree entirely.
That was my point, yes.
I'm unsure just how much you'd have to compute to be able to use such a
stump to incorporate your changes with other users again, but I doubt it
would be trivial to implement. Good thing it's not my itch, really.
I've been suggesting it to Garry :)
Maybe whoever writes up something on the wiki regarding subdirectory
checkouts in SVN versus Git could still care about what the "fundamental
technical" limits are versus what the current implementation (or
practicalness) imposes. It will be both a more enlightening and
potentially more future-proof explanation then.
Christian.
--
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