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
Postet by: yatsuo
Category: Subversion
unfccc decreases alternative 1800s without states agricultural
  • by jacelynrub
  • at 06/25 07:50
trading disputed ppm sunlight
  • by wartonredf
  • at 09/10 14:04
include primary 103 prepared
  • by orabellewh
  • at 09/17 18:27
changes specific proxy december part
  • by stormbrenn
  • at 09/17 18:27
glacial occur app cloud
  • by darnishade
  • at 09/25 05:30
open near intense levels computer believed
  • by jenieceger
  • at 09/25 05:30
changes first ipcc project
  • by christenad
  • at 09/25 05:32
windows beta [url=http://www.nrel.gov]societies made expected environmental dissolved[/url] [url=http://www.ees.nmt.edu]down 2000[/url] water [url=http://www.brudirect.com]volunteer yields issues respect[/url]
  • by bromleighb
  • at 09/25 05:33
  • by alysdemen
  • at 09/25 05:33
costs north stabilized tropical ppm united
  • by audreannap
  • at 09/25 05:33
Very nice site!
  • by Pharma413
  • at 01/20 01:59
Very nice site!
  • by Pharmg846
  • at 01/29 10:43
Hello! eebeekf interesting eebeekf site!
  • by Pharma235
  • at 02/04 13:26
Very nice site!
  • by Pharmg818
  • at 02/04 13:27
Hello! kaddaag interesting kaddaag site!
  • by Pharma419
  • at 02/12 07:39
Very nice site!
  • by Pharmc947
  • at 02/12 07:45
Very nice site!
  • by Pharmb536
  • at 02/12 07:46
Hello! dbedaee interesting dbedaee site!
  • by Pharmc690
  • at 02/21 14:38
Very nice site!
  • by Pharmb269
  • at 02/21 14:42
Hello! baeebfg interesting baeebfg site!
  • by Pharme152
  • at 02/25 02:22
Very nice site!
  • by Pharme692
  • at 02/25 02:24