Mercurial > hg > RemoteEditor > REPSessionManager
diff Todo @ 486:877aacde8651
new merge on going...
author | one |
---|---|
date | Thu, 21 Oct 2010 20:30:52 +0900 |
parents | cc262a519b8a |
children | 455df381449a |
line wrap: on
line diff
--- a/Todo Wed Oct 20 22:59:19 2010 +0900 +++ b/Todo Thu Oct 21 20:30:52 2010 +0900 @@ -1,18 +1,66 @@ +Thu Oct 21 12:27:44 JST 2010 + +外部からのINESRT に USER_INSERTがはまりこんでいるが… + + Editor SM + <---INSERT---- + <---INSERT---- (start_merge) + --U_INSERT1--> truncate + ----INSERT---> start_merge + --U_INSERT2--> truncate + <--START_M---- (U_INSERT1, U_INSERT2) + +INSERTが来た時点でEditorをlockすれば、二つめは止めるが。 +でも、問題はないはず。余計に tuncate しても問題ない。 + + --U_INSERT0--> + (U_INSERT0) + <---INSERT---- + <---INSERT---- (start_merge) + --U_INSERT1--> --U_INSERT1--> + ----INSERT---> start_merge + (U_INSERT0, U_INSERT1, INSERT) + --INSERT--> + --U_INSERT2--> --U_INSERT2--> + <--START_M---- (U_INSERT0, U_INSERT1, INSERT, *, U_INSERT2) + --U_INSERT3--> --U_INSERT3--> + --STARTM_ACK-> + --U_INSERT4--> (U_INSERT0, U_INSERT1, INSERT, *, U_INSERT2, U_INSERT3, U_INSERT4) + --U_INSERT4--> + +ええと、INSERT は、U_INSERT[01] は追い越すべき。U_INSERT[2-4] +は追い越さない。* は merge_mark + +start_merge 以降は外部commandはブロックされるので問題ない。 + +ってことは、まずいっていうことね。U_INSERT1/U_INSERT2 を +block しても良いのだが、undo は必要なのでblock出来ません。 + + sentList, unMegeList には随時追加 (merge 中はtruncateしない) + sort は、MERGE_MARK まで + merge_end で、user command があれば、truncate + +かな。で、preMergedCommand の送信タイミングは? 戻って来た順に出してしまって良い? + Wed Oct 20 20:35:53 JST 2010 - Editor1 Editor2 Editor3 - c(eid=1) a(eid=3) - a(eid=3) c(eid=1) - e(eid=2) c(eid=1) - c(eid=1) a(eid=3) e(eid=2) - e(eid=2) ca(eid=1) a(eid=3) - aa(eid=3) e(eid=2) ca(eid=1) - ca(eid=1) aa(eid=3) ea(eid=2) - ea(eid=2) ca(eid=1) - ca(eid=1) + Editor1 Editor2 Editor3 + c(eid=1) a(eid=3) + a(eid=3)* c(eid=1)* + e(eid=2)t c(eid=1)* + c(eid=1)t a(eid=3)* e(eid=2)* + e(eid=2)* ca(eid=1)t a(eid=3)t + aa(eid=3)t e(eid=2)t ca(eid=1)t + ca(eid=1)t aa(eid=3)t ea(eid=2)t + ea(eid=2)t ca(eid=1)t + ca(eid=1)t [c,e,a] [c,e,a] [c,e,a] +sort は、どの範囲? + 全部で良い +と言うことは、そこに MERGE_MARK は必要ない + Fri Oct 15 19:47:05 JST 2010