2007年06月27日(Wed) 肉体労働中 [長年日記]
● [memo] ログ用Wikiクライアントのアイディア
テキストボックスが更新されるたびに内容がサーバに送られる。送るの一時停止ボタンとかもほしい。
他の編集中のクライアントにも更新が送られるといいよね。
整形したページを見てる人はリロードするか、そこにも更新が送られるか。
(追記) 寝ながら考えた。
編集中に他の人からの更新が送られてくるのは明示的にマージを指示した時の方がいいな。cvs updateしてconflictを解消してcommitするまでは自動commitはなし、という感じ。cvsは使わないだろうけど。これに対して、普段は自動的に(編集があったら、あるいは一定間隔で)commitするモード。
それぞれの更新クライアントは、それぞれのために作られたブランチの頭に居て、Wikiエンジンにはそこから差分が送られる、あるいは、全文が送られてWikiエンジンで差分をつくる。
ここからがミソ。Wikiエンジンは差分(タイムスタンプとブランチのIDつき)をまじろうに食べさせて、まじろうはお腹のなかでそれをできるだけmergeするのだ!で、コンフリクトしない差分だけをまぜてtrunkを作って、それをWikiエンジンに送りかえす。
Wikiの閲覧者はtrunkの頭を見ることになって、編集者になるときはそこからブランチが切られる、と。
コンフリクトをどう処理するかが問題だよね。
最近のツッコまれどころ