/usr/portsをportsnapではなく、svnliteで管理してみた。
一般ユーザとしては、portsnapの管理が望ましいのだが、svnだとportsの個別更新が出来たりする。
このためだけにsvnlite管理にした。
Handbookどおりにしただけ。

以下のようなマシンで実施。

$ uname -a
FreeBSD vostro 10.0-BETA3 FreeBSD 10.0-BETA3 #0 r257580: Sun Nov  3 19:43:01 UTC 2013     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
$ which svnlite
/usr/bin/svnlite

ミラーサイトを選ぶ

以下のページでミラーサイトを選ぶ。
http://www.freebsd.org/doc/ja/books/handbook/svn-mirrors.html

日本からならsvn0.us-west.FreeBSD.orgでしょうなあ。
このとき、SSLフィンガープリントも見ておくこと。
2013/11/12現在、us-westミラーのフィンガープリントは以下の通り

SHASHA1 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61

初回チェックアウト

/usr/portsの中身が何もないことを確認してからsvnlite checkout。
SSLフィンガープリントが表示されて、これでよいか訊かれる。
handbookの値と同じなので大丈夫ですな。

$ sudo svnlite checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports
Password:
Error validating server certificate for 'https://svn0.us-west.freebsd.org:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
 - The certificate hostname does not match.
Certificate information:
 - Hostname: svnmir.ysv.FreeBSD.org
 - Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT
 - Issuer: clusteradm, FreeBSD.org, (null), CA, US (clusteradm@FreeBSD.org)
 - Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61
(R)eject, accept (t)emporarily or accept (p)ermanently? p

<snip>

A    /usr/ports/net-p2p/eiskaltdcpp-daemon/Makefile
A    /usr/ports/net-p2p/tribler/pkg-plist
A    /usr/ports/net-p2p/eiskaltdcpp-daemon/files/patch-nasdc__CMakeLists.txt
 U   /usr/ports
Checked out revision 333566.

二回目以降のcheckout

svnlite update /usr/portsとすればよい。

$ sudo svnlite update /usr/ports
Updating '/usr/ports':
<snip>
U    /usr/ports/UPDATING
Updated to revision 333571.

リビジョンが上がってますな。

portsの個別checkout

portsの個別checkoutができる。
つまり、/usr/ports全部をアップデートするのではなくて、特定のportsだけ更新する。

$ sudo svnlite update /usr/ports/math/sage
Updating '/usr/ports/math/sage':
At revision 333571.

以上