Mercurial > hg > RemoteEditor > REPSessionManager
changeset 469:e252d092b720
Worked?
author | one |
---|---|
date | Mon, 11 Oct 2010 21:09:43 +0900 |
parents | b800b33c6988 |
children | 7f0d4e49eaf9 |
files | Todo rep/handler/Editor.java |
diffstat | 2 files changed, 8 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/Todo Mon Oct 11 19:57:34 2010 +0900 +++ b/Todo Mon Oct 11 21:09:43 2010 +0900 @@ -2,6 +2,12 @@ ackList を別にしたので、quit2 は ackList も見ないとだめだった。 +ack が廻って来たら、ちゃんと全部ソートしないとダメ。 + +自分が出したコマンドもソートしちゃって良いの? + +あれ? もしかして、できた? + Mon Oct 11 13:32:49 JST 2010 Translator がEditorと別ってのが超絶読みづらい。
--- a/rep/handler/Editor.java Mon Oct 11 19:57:34 2010 +0900 +++ b/rep/handler/Editor.java Mon Oct 11 21:09:43 2010 +0900 @@ -566,26 +566,13 @@ sortedEditCmds = new TreeSet<REPCommand>(new REPCommandComparator(1)); logger.writeLog("sentList"+eid+":"+editor.getSentList()); - boolean flag = false; for( REPCommand cmd0 : editor.getSentList()) { if (cmd0.cmd==REP.REPCMD_INSERT || cmd0.cmd==REP.REPCMD_DELETE) { - if (flag) { - output.addLast(cmd0); - newSentList.addLast(cmd0); - } else { sortedEditCmds.add(cmd0); - } - } - if (cmd0.sid==prev.sid && cmd0.eid==prev.eid && cmd0.seq==prev.seq) { - flag = true; - output.addAll(sortedEditCmds); - output.addLast(new REPCommand(REP.REPCMD_MERGE_MARK,0, editor.getSID(), REP.MERGE_EID.id, editor.seq(), "")); } } - if (!flag) { - output.addAll(sortedEditCmds); - output.addLast(new REPCommand(REP.REPCMD_MERGE_MARK,0, editor.getSID(), REP.MERGE_EID.id, editor.seq(), "")); - } + output.addAll(sortedEditCmds); + output.addLast(new REPCommand(REP.REPCMD_MERGE_MARK,0, editor.getSID(), REP.MERGE_EID.id, editor.seq(), "")); logger.writeLog("sortedMerge"+eid+":"+sortedEditCmds); // unMerged command のdeleteのundo string は、この時点で使えない。 // Editor 側から送り返して来たものを使う必要がある。