# HG changeset patch # User one # Date 1286798983 -32400 # Node ID e252d092b7208540a0acf80fb0d2b0121738162c # Parent b800b33c6988dddd865eb070e4121d49968ee305 Worked? diff -r b800b33c6988 -r e252d092b720 Todo --- 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と別ってのが超絶読みづらい。 diff -r b800b33c6988 -r e252d092b720 rep/handler/Editor.java --- 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(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 側から送り返して来たものを使う必要がある。