On Thu, 2010-01-28, Greg Stein wrote: > On Thu, Jan 28, 2010 at 12:30, Julian Foad <julian.f...@wandisco.com> wrote: [...] > > The big conceptual difference between your wc_db trees and what I think > > the user's concept of trees should be, is that the wc_db trees are > > "overlays", whereas the user's notions of "base" and "working" are > > complete trees, in the sense that for an unmodified file both notions > > regard the file as existing and having content. > > Correct/agreed.
Hi, all. I've written up this brief definition of the WC-NG DB trees at <http://subversion.wandisco.com/wiki/index.php/WC-NG_trees_-_defining_BASE_and_WORKING_and_ACTUAL>. Could you all have a look and add to it or just mention to me anything that is worth noting or correcting. After a few rounds I'll move it to an in-tree document. In particular, one question for Greg: > >... > > So the wc_db trees are something like > > > > * (the pristine one, known as BASE) > > > > A cached version of the complete tree that was checked out of the > > repository. (Well, ish.) > > No need to use the term "cached". That is misleading. You have a copy > of some portion of the repository. Plain and simple. OK. > > * (the tree-changes, known as WORKING) > > > > A set of tree-changes, describing any nodes added, deleted, moved, > > copied, replaced, etc. Any node that just has text and/or prop mods, or > > no mods, does not appear in this tree. > > Correct. > > > * (the on-disk and in-property-storage stuff, known as ACTUAL) > > > > A description of the text-content and properties of any nodes whose > > text-content and/or properties are different from its WORKING version. > > Any node that has no such differences does not appear in this tree. > > Its WORKING node; or if none, then the BASE node. Sorry Greg, I didn't understand your comment there. Could you clarify? > The ACTUAL tree can also record tree conflicts for nodes that exist in > neither WORKING nor BASE. - Julian