mySQL error with query SELECT ovalue FROM nucleus_plugin_option WHERE oid=49 and ocontextid=2: Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query INSERT INTO nucleus_plugin_option (oid,ocontextid,ovalue) VALUES (49, 2, ''): Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query SELECT ovalue FROM nucleus_plugin_option WHERE oid=39 and ocontextid=0: Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query INSERT INTO nucleus_plugin_option (oid,ocontextid,ovalue) VALUES (39, 0, ''): Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

株式会社e-flat開発日誌

 
 
mySQL error with query SELECT ovalue FROM nucleus_plugin_option WHERE oid=38 and ocontextid=0: Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query INSERT INTO nucleus_plugin_option (oid,ocontextid,ovalue) VALUES (38, 0, 'yes'): Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

Svn on Mac
MacOS XのFinderへSubversionクライアント機能を組み込むSCPlugin。
既に何個か記事を書いているが、実は自分で使っているMacBook上ではビルドが出来ない状態が続いていた。

が、いろいろ調べて、ついにビルドする事が出来るようになった。
これで最新のtrunk版を追っかけていける。
03/29
Category: Subversion
       16 コメント   
mySQL error with query SELECT ovalue FROM nucleus_plugin_option WHERE oid=3 and ocontextid=0: Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query INSERT INTO nucleus_plugin_option (oid,ocontextid,ovalue) VALUES (3, 0, ' '): Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

 
 
SVN on Mac
Eclipse、もはや溺愛してる。CDP使って組込み向けのファームウェア(C言語)開発にも使ってるくらい。

その理由の一つに、Subversionと統合していると言う点がある。
使いやすいSubversionクライアントが有れば、ソースコード中に吹き荒れる変更履歴の嵐/コメントの嵐を一掃し穏やかかつ見通しの良いソースを取り戻し、そして可逆性も維持することが出来る。

Eclipse上でそれを実現するのがSubclipseプラグイン。 最近のEclipseであればインストールも本当に簡単。SubversionのJava実装であるJavaSVNモードで使用すれば、MacOS X上で使用出来る。

だが、ちょっと問題が出た。どうも/etc/hostsファイルに記述されたホストへのアクセスが出来たり出来なかったり、なのだ。

  • ローカルで展開しているレポジトリであっても、ローカル/リモート区別無くsvn+ssh経由でアクセスするようにしている

  • authorized_keysに"svnserve -t -r /path/to/repos"を記述する事で、レポジトリへのURLを簡略化させている


という状況において、

  • svn+ssh://localhost/reposはダメ

  • svn+ssh://127.0.0.1/reposはOK

  • サーバ上のsvnserveを-r付きで実行するようシェルでラップするとsvn+ssh://localhost/reposもOK


という状況に。
まぁ、コレで運用してもいいのだが、原因を探っている途中でMacOS XモードでもJavaHLで使用出来る事が分かったのでやり方を残しておく。

Subclipseをインストールしただけだと、MacOS X上ではJavaHLを選択しようとしても「javaHLが見つからないよ!」とエラーになる。
そこで、SubversionのJavaバインディングであるJavaHLをインストールする。

Subclipse本家FAQではMetissianパッケージによるインストールを推奨しているが、このパッケージは更新が遅く、現時点では1.3系列までしか配布していない。
ここはやはり、コマンドラインクライアントと同様にMacPorts経由で...と探したらちゃんとありました。
$ sudo port install subversion-javahlbindings

でjavaHLをインストール。結構ビルドに時間かかりました。

そして何も考えずそのままEclipseを起動、 設定>チーム>SVNで、エラーを起こす事無くJavaHLが選択可能になった。
そのまま、Subversion関係の操作をしても正常に利用出来る。
先のsvn+ssh://localhost/reposというURLによるアクセスもJavaHLでなら問題なくアクセスる事が出来た。

エクリプスWikiではJavaHLよりJavaSVNの方が高速だという話。暇を見て比較してみるか。
02/10
Category: Subversion
       71 コメント   
mySQL error with query SELECT ovalue FROM nucleus_plugin_option WHERE oid=4 and ocontextid=0: Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

mySQL error with query INSERT INTO nucleus_plugin_option (oid,ocontextid,ovalue) VALUES (4, 0, ' '): Table './mavelick/nucleus_plugin_option' is marked as crashed and should be repaired

 
 
Subversion on Mac
SCPlugin for IntelMacで判明したように、現在のバージョンのSCPluginはssh経由でうまく動作しないようだ。パスワード認証のssh経由でうまく動作しないようだ。

もともとsvn+ssh経由で使っている間、操作時に毎回パスワード入力しなければならないのがめんどかった(もしかして鍵認証ならSCPlugin動いたりしてパスフレーズ無しの鍵認証なら SCPluginで正常動作)し、svn+sshによる運用をやめる事にする。
となると、Apacheでmod_dav経由にするか、sshを使わないsvnserve経由のアクセス、と言う事になるのだが、ここは動作速度も速いsvnserveで運用する事にする。

svnserveをsshトンネルモード以外で運用する場合、

  • inetd経由で起動 -- 必要な時のみ起動する

  • Daemonモードで起動 -- 起動しっぱなし


のいずれかになる。リソースの無駄を省くためにもinetd経由で起動させる事とする。

さて、MacOS X 10.4以降は、他のUNIX環境のようなinetd/xinetdが無く、代わりにinitをも含めた、launchdという新設計のスーパーデーモンが使われている。

MacOS X Tiger: UNIXベース
Tigerではlaunchdのおかげで起動時間が短くなりました。launchdではデーモンの起動、終了および管理に統一されたフレームワークを使用するようになり、さらにinit、mach_init、System Starterおよび関連サービスを組み込むことにより高速起動を実現しました。


10.4の起動が従来より劇的に早いのはこのため。主流LinuxディストリやWindowsXP等に比べてもかなり早い。

svnserveをこのlaunchd経由で起動させる事とにする。

参考情報


launchdの設定ツールであるLingonはなかなか便利。今回もこれを使って設定する事とする。
Lingon
※ちなみにLingonの現バージョンでは、/Library/LaunchAgents, /Library/LaunchDaemonsのディレクトリを先に作っておかないとエラーが発生し、新しい設定ファイルが作れないようだ。

1. Users/Daemonsを新しく追加。設定は以下。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<false/>
<key>Label</key>
<string>localhost.svnserve</string>
<key>OnDemand</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/svnserve</string> -- MacPortsでインストールされたもの
<string>-i</string>
<string>-r</string>
<string>/Users/Shared/svn</string> -- レポジトリのあるディレクトリをルートとして指定しておく
</array>
<key>ServiceDescription</key>
<string>Subversion Server</string>
<key>Sockets</key>
<dict>
<key>Listeners/tcp</key>
<dict>
<key>SockFamily</key>
<string>IPv4</string>
<key>SockServiceName</key>
<string>svn</string> -- /etc/servicesに記載のある名称、あるいは素のポート番号
<key>SockType</key>
<string>stream</string>
</dict>
<key>Listeners/udp</key>
<dict>
<key>SockFamily</key>
<string>IPv4</string>
<key>SockServiceName</key>
<string>svn</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
</dict>
</plist>

2. Save & Reloadする(要管理者権限)

後はアクセスして動作するかどうかを確認して見れば良い。ちなみにLingonを使わない場合は上記の設定ファイルを/Library/LaunchDaemons/localhost.svnserve.plistとして保存し、
$ sudo launchctl load -w /Library/LaunchDaemons/localhost.svnserve.plist

すれば良い。

手元の作業コピーをsvn switch --relocateしたところ、SCPluginでの動作も良好のようだ。

12/29 追記
SCPluginがパスフレーズ無しの鍵認証で動作する事が分かった。どちらで運用していくか思案中。
12/28
Category: Subversion
       35 コメント   
 
 
SCPlugin
e-flatではSubversionを活用している。ソースコードの管理はもとより、起業に関する書類から名刺、見積もりまで、会社に関するドキュメント類はすべてレポジトリに突っ込んでいる。
これにより、作業コピーとレポジトリで多重化され、バックアップも兼ねているつもり。

さてさて、MacOS X版tortoiseSVNとも言えるSCPlugin
Finderのコンテクストメニューからチェックアウト/コミットなどが出来るだけでなく、アイコンオーバーレイによる状態の表示が分かりやすく、事故が未然に防げる。

ずっとSCPluginを試してみたかったのだが、今までintelMacに非対応だったため仕方なくMacPortsでインストールした純正クライアントとEclipse上でのSubclipseを使っていた。

そのSCPlugin、ついにUniversal対応版がリリースされているので、試してみた。

SCPluginのプロジェクトドキュメント

1. 上のリンク先より、リビジョン396のバイナリをダウンロード、解凍
2.  SCFinderPlugin.pluginを~/ライブラリ/Contextual Menu Items以下にコピーする
(このフォルダが無い場合は作成する)
3. command+option+ESCを押し、Finderを選択、再起動させる

これによりFinder上で右クリック or ctrl+クリックで出るコンテキストメニューに、Subversioに関するコマンドが追加されるはずだ。
SCPluginキャプチャ


"*EXPERIMENTAL* universal build"と記述されているリビジョン391ビルドと、universalかどうかが分からないリビジョン396がリリースされているが、実際はどちらもUniversalバイナリとなっており、実際にr396をMacBookにインストールした所、正常に動作するようだ。

ただし、svn+ssh経由でチェックアウトしている作業コピーを操作しようとするとエラーになる。どうやらsvn+sshにうまく対応出来ていないようだ...(追記参照)

svnをApache経由でやるか、svnserveをssh経由でないやりかたにするか...さてさて。


12/29 追記: SCPluginでのsvn+sshについて
パスフレーズ無しのDSA鍵認証でSSHの認証が行われるようにした所、SCPluginでもsvn+sshスキーマが動作した。
必要性がないのでパスフレーズ有りは試していない。

2007/2/10追記: Universal Binary正式版リリース
1/27にUniversal Binaryの正式リリース版0.6(build407)がリリースされていました。
SCFinderPluginを入れ替えた後、Finderの再起動だけでは起動中のデーモンは入れ替わらず、(メンドクサイから)MacOSごと再起動させるとちゃんと入れ替わりました。
12/28
Category: Subversion
       2 コメント   
«Prev | | 1 · | Next»