On 6.3.13 8:23, Marcel Reutegger wrote:
Hi,
Just to further clarify, the approach where private branches are rebase
and the merged into trunk is not too different from what the initial
implementation of Microkernel.commit() (H2) tried to do: rebase and then
merge. The difference is, that we can "take rebase out of the lock" if
we perform it on a private branch.
I have the impression you assume a specific implementation. some
implementation could simply do what databases usually do and only
synchronize (or lock) on the nodes they write to. concurrent writes
in distinct areas of the repository will not block in this case.
No not really. AFAICT locking individual nodes would be an
implementation variant of rebasing a private branch. That is, it has the
same observable behaviour. I mentioned this already on my initial post
on this [1]: " Note how commit is implemented in terms of branch and
merge. I has not to be implemented that way but rather the observable
behaviour should be like this."
[1] http://markmail.org/message/wtaarmdtgyf5lvjt
regards
marcel