[
https://issues.apache.org/jira/browse/SVN-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Foad updated SVN-1525:
-----------------------------
Component/s: (was: src)
> Use new "entity ID" notion instead of "committed rev"
> -----------------------------------------------------
>
> Key: SVN-1525
> URL: https://issues.apache.org/jira/browse/SVN-1525
> Project: Subversion
> Issue Type: New Feature
> Affects Versions: all
> Reporter: C. Michael Pilato
> Priority: Critical
> Fix For: 2.0-consider
>
>
> {noformat:nopanel=true}
> The concept of the committed revision on a given path turns out to be not so
> useful. Examining two different paths and their CRs, you can't tell if the
> paths reflect the same line of history, you can't assume that changes in the
> path with the higher revision number are also included in the other path.
> Even
> if the two paths *do* reflect the same line of history, you have no idea how
> much churn has occured between the two revisions (there could be any number
> from
> 0 to N-M commits to a path between revisions M and N). And people seem to
> really want, on a per path basis, a monitonically increasing count of
> committed
> changes to that path.
> And this isn't even touching the wealth of issues that occur when trying to
> maintain a committed rev in light of our "cheap-copy" FS model. *Shudder*.
> No, CR ain't the way to go.
> But in a relatively recent brainstorming session of myself, jackr, sussman,
> and
> kfogel, I stumbled across this idea of an "entity ID" (though that might not
> have been what we called it -- could have been "resource version string" or
> something). Anyway, this thing consists of the tuple (NodeId, BranchId,
> ChangeCount), where:
> - (NodeId) uniquely identifies a line of history,
> - (NodeId, BranchId) unique identifies a particular branch of a line
> history,
> - (NodeId, BranchId, ChangeCount) uniquely identifies a particular
> version along a particular branch of a line of history, and
> - ChangeCount increases monotonically with each commit to that line
> of history.
> We think we can generate this thing using the filesystem's NodeId, CopyId, and
> (get this) the PredecessorCount (from the skip-delta code!). The idea would
> be
> to replace the client-side CR with this puppy, including an expandable
> svn:keyword for it, so that you could, say, look at two printouts of various
> versions of a document that are lying on a table and, presuming you know they
> are from the same repository (perhaps we should toss the UUID into the tuple?
> Hm...), say with confidence, "These are two versions of the same document,
> along
> the same line of history, *this* one is the youngest one, and there were X
> revision between the two versions."
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)