There is no root-v4
though! Root didn’t change, so I think it would be pointless to add a new version with the same details as the previous. I guess you’re implying that every dir-listing in the entire tree should change with every snapshot (i.e. every time any dir is changed, they all are)?
For user to “see” the v4 snapshot, they have to recurse down the tree anyway, right? So, if we only update the specific dir affected rather than doing a full snapshot kinda thing, then to view this, the user would pull the root, parse it, find out about a
, pull its listing, parse and so on… When they get to b
, they find two versions, say b0
and b1
. It’s up to the app how it wishes to display that info. If it’s only presenting the current state, it only parses b1
and shows dir b
with no dir c
. If it’s trying to present the state from a time point before b1
was added, it parses b0
and shows dirs b
and c
.