<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18981423</id><updated>2011-04-22T12:08:51.469+08:00</updated><category term='launchd'/><category term='daemon'/><category term='leopard'/><category term='launchctl'/><category term='inetd'/><category term='svn'/><title type='text'>I am cloud.</title><subtitle type='html'>不开小差、不乱说话，只谈经验总结</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cloudchen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18981423/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cloudchen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>cloudchen</name><uri>http://www.blogger.com/profile/17428100135782293498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_XbY5WJ_SvyU/STTwfqoU0xI/AAAAAAAAAI8/tBBkvG6z5fk/S220/cloudcmh%40gmail.com_f8b9e633.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18981423.post-6837756980458049546</id><published>2008-12-06T16:07:00.015+08:00</published><updated>2008-12-23T12:09:18.924+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='launchctl'/><category scheme='http://www.blogger.com/atom/ns#' term='daemon'/><category scheme='http://www.blogger.com/atom/ns#' term='launchd'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='inetd'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Mac OS X Leopard 配置 svnserve 自动启动</title><content type='html'>首先，下载并解压最新版的Subversion源文件。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;然后，覆盖安装系统自带的1.4.x版本的Subversion&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;div&gt;% cd subversion-1.x.x&lt;/div&gt;&lt;div&gt;#运行autogen检测依赖是否缺失&lt;/div&gt;&lt;div&gt;% ./autogen.sh&lt;/div&gt;&lt;div&gt;#设置安装路径，覆盖系统自带的旧版本&lt;/div&gt;&lt;div&gt;% ./configure --prefix=/usr&lt;/div&gt;&lt;div&gt;% sudo make&lt;/div&gt;&lt;div&gt;% sudo make install&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;安装完成后查看安装是否成功&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;% which svn&lt;br /&gt;&lt;/div&gt;&lt;div&gt;% svn --version&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;配置svnserve随系统启动&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;自从Mac OS X 10.4 Tiger开始，Apple引入了全新的启动程序launchd来统一取代传统的UNIX启动程序。&lt;/div&gt;&lt;div&gt;官方介绍：&lt;a href="http://developer.apple.com/macosx/launchd.html"&gt;Getting Started with launchd&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;以Daemon(守护进程)方式启动svnserve&lt;br /&gt;&lt;blockquote&gt;因此需要在/Library/LaunchDaemons目录下编写一个plist文件&lt;br /&gt;&lt;br /&gt;% cd /Library/LaunchDaemons&lt;br /&gt;% sodo vim com.svn.svnserve.plist&lt;br /&gt;&lt;br /&gt;文件内容如下:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"&lt;br /&gt;    "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&amp;gt;&lt;br /&gt;&amp;lt;plist version="1.0"&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;string&amp;gt;com.svn.svnserve&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;array&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;/usr/bin/svnserve&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;--daemon&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;--root=/repository/&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;/array&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;true/&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/plist&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;装载这个启动项目，下次启动就会有效&lt;br /&gt;% sudo launchctl load com.svn.svnserve.plist&lt;br /&gt;&lt;br /&gt;也可以手动启动，以Label定义的名字启动&lt;br /&gt;% sudo launchctl start com.svn.svnserve&lt;/blockquote&gt;&lt;br /&gt;svnserve还可以使用inetd守护进程来代理启动和访问&lt;br /&gt;这样对于不频繁的操作更为节省系统资源&lt;br /&gt;&lt;br /&gt;文件内容如下：&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"&lt;br /&gt;    "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&amp;gt;&lt;br /&gt;&amp;lt;plist version="1.0"&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;string&amp;gt;com.svn.svnserve&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;array&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;/usr/bin/svnserve&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;--inetd&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;--root=/repository/&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;/array&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;inetdCompatibility&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&lt;br /&gt;    &amp;lt;key&amp;gt;Wait&amp;lt;/key&amp;gt;&lt;br /&gt;    &amp;lt;false/&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;key&amp;gt;Sockets&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&lt;br /&gt;    &amp;lt;key&amp;gt;Listeners&amp;lt;/key&amp;gt;&lt;br /&gt;    &amp;lt;dict&amp;gt;&lt;br /&gt;        &amp;lt;key&amp;gt;SockServiceName&amp;lt;/key&amp;gt;&lt;br /&gt;        &amp;lt;string&amp;gt;svn&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--&amp;lt;key&amp;gt;WorkingDirectory&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;lt;string&amp;gt;/usr/bin&amp;lt;/string&amp;gt;--&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/plist&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;编写plist文件需要注意：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;被执行的程序尽量使用全路径，否则的话需要指定WorkingDirectory选项&lt;br /&gt;不使用全路径而造成招不到svnserve时，svn checkout 执行后会产生如下错误 &lt;blockquote&gt;       &lt;p style="color: rgb(255, 102, 102);"&gt;svn  畸形的网络数据&lt;br /&gt;svn: Malformed network data&lt;br /&gt;  &lt;/p&gt; &lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18981423-6837756980458049546?l=cloudchen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudchen.blogspot.com/feeds/6837756980458049546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18981423&amp;postID=6837756980458049546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18981423/posts/default/6837756980458049546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18981423/posts/default/6837756980458049546'/><link rel='alternate' type='text/html' href='http://cloudchen.blogspot.com/2008/12/mac-os-x-leopard-svnserve.html' title='Mac OS X Leopard 配置 svnserve 自动启动'/><author><name>cloudchen</name><uri>http://www.blogger.com/profile/17428100135782293498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_XbY5WJ_SvyU/STTwfqoU0xI/AAAAAAAAAI8/tBBkvG6z5fk/S220/cloudcmh%40gmail.com_f8b9e633.jpg'/></author><thr:total>0</thr:total></entry></feed>
