> A while ago, Greg Hudson asked (in a message I can't seem to find)
> why it's useful to generate IDs of successor nodes in such a way
> that you can tell what they succeeded merely by examining the IDs.
[...]
> Jim answered Greg, saying (paraphrased) "Try writing the
> deltification code and I think you'll see why it comes in handy."
> I'm wondering in exactly what circumstance it's handy.
Here is my understanding:
So, you're the filesystem. A client has told you it has revision 6 of
a directory (no exceptions) and it wants to update revision 9. You
have to give the client a tree delta.
So, you look up the directory in revision 6 and revision 9. In
revision 9, there is a directory entry "foo" which didn't exist in
revision 6. Do we send the whole contents of foo, or just a delta
(using copyfrom_path and copyfrom_revision)? If we want to send a
delta, what do we use for the copyfrom? Well, we look through the
directory at revision 6 and see what is closest. If "foo" is some
huge file (or some big directory hierarchy) which was renamed from
revision 6's "bar", this optimization could save us an awful lot of
traffic.
My personal reaction to this is: man, versioning directory information
is hard, any maybe we're going about it wrong. But I don't know how
to go about it right. From what Jim has said, I think that's his take
on the situation as well.
Received on Sat Oct 21 14:36:23 2006