[ sorry for the delay; didn't want to reply past-midnight ] Branko Čibej wrote on Wed, Sep 07, 2011 at 17:18:11 +0200: > On 07.09.2011 06:05, Branko Čibej wrote: > > What specific questions are we likely to ask about a particular node > > revision? The obvious ones are: > > > > * when was this "thing" created? (-> path@rev) > > * when was it deleted? (-> path@rev) > > * what is its immediate predecessor? (-> path@rev) > > * what are its immediate successors? (-> list of path@rev, includes > > copied-to) > > * what is the its PATH at REV1? (-> path) > > * where did its content come from? (-> list of path@rev, includes > > merged-from) > > * where did its content go to? (-> list of path@rev, includes merged-to) > > Here are some more: > > * are PATH1@REV1 and PATH2@REV2 the same thing? > * is PATH2@REV2 a successor of PATH1@REV1? > * ditto for predecessors >
Thanks for the feedbacks. It seems the questions here are, largely, "What is the next interesting thing that happens to PATH@REV" (eg, a copy, a delete, a text mod, or a merge), in either direction. I think the next question in this area will be what parts of this should be in the repos layer and which should be in the FS backends. Personally I plan to revisit these questions after the implementation of succcessors cache reading in FSFS is done. > Note that the first and second questions are not necessarily equivalent. > "The same thing" implies there are no copies in the succession from > PATH1@REV1 to PATH2@REV2, whereas the answer to the second question > would include copies. > > Incidentally, this is where "branch" and "copy" are fundamentally > different: a branch maintains the node identity, a copy creates a new node. > > -- Brane > Thanks, Daniel