XCode付属のsvkにはバグがある.

svk 2.0.1.もしかしたら環境依存無く再現するのかもしれないけれど,他環境では試していない.
Tiger以降のOSX環境で,下記の問題を手っ取り早く解決する方法は,サードパーティがビルドした2.0.2にアップグレードすることっぽい*1
副作用が出るのかもしれないけれど,今のところ,私の手元ではハッピーに動いている.

もっとも,2.0.2も結構深刻なバグがあるらしいのではあるけれども….

環境

$ svk mirror --list
//sourceforge/pizza-ipa-oss           https://monamour@svn.sourceforge.jp/svnroot/pizza-ipa-oss
//mirror/pizza3-nxt https://somewhere/trunk

なる2つのミラーがあって,それぞれ //mirror/pizza3-nxt → //local/pizza3-nxt,//mirror/pizza-ipa-oss → //local/pizza-ipa-oss にローカルリポジトリがある.

再現状況.

ここで,pizza-ipa-oss とpizza3-nxt の間でコピーを行う.
commitまではOK.push ができない.デバッグ出力はこんな感じ.

Auto-merging (8517, 8768) /local/pizza-ipa-oss to /sourceforge/pizza-ipa-oss (base /local/pizza-ipa-oss:8517).
===> Auto-merging (8517, 8525) /local/pizza-ipa-oss to /sourceforge/pizza-ipa-oss (base /local/pizza-ipa-oss:8517).
Merging back to mirror source https://monamour@svn.sourceforge.jp/svnroot/pizza-ipa-oss.
==> got 8517 as copyboundry, add 8517 as boundry as well
set_target_revision: SVN::Delta::Editor=HASH(0x2cb80cc),8525
open_root: SVN::Delta::Editor=HASH(0x2cb80cc),67
===> /local/pizza-ipa-oss/3.2 => 
===> /local/pizza-ipa-oss/3.2/core => 
===> /local/pizza-ipa-oss/3.2/core/trunk => 
===> /local/pizza-ipa-oss/3.2/core/trunk/plugins => 
===> /local/pizza-ipa-oss/3.2/core/trunk/plugins/ch.ntb.usb => /local/pizza3-nxt/trunk/ch.ntb.usb
to 8525, from 7270, try 8517
==> to resolve /local/pizza3-nxt/trunk/ch.ntb.usb 7270
open_directory: SVN::Delta::Editor=HASH(0x2cb80cc),3.2,_p_void=SCALAR(0xc81064),67,_p_apr_pool_t=SCALAR(0xc80d88)
open_directory: SVN::Delta::Editor=HASH(0x2cb80cc),3.2/core,_p_void=SCALAR(0xc851d8),67,_p_apr_pool_t=SCALAR(0xc80e00)
open_directory: SVN::Delta::Editor=HASH(0x2cb80cc),3.2/core/trunk,_p_void=SCALAR(0xc8519c),67,_p_apr_pool_t=SCALAR(0xc80df4)
open_directory: SVN::Delta::Editor=HASH(0x2cb80cc),3.2/core/trunk/plugins,_p_void=SCALAR(0xc85178),67,_p_apr_pool_t=SCALAR(0xc8122c)
add_directory: SVN::Delta::Editor=HASH(0x2cb80cc),3.2/core/trunk/plugins/ch.ntb.usb,_p_void=SCALAR(0xc85160),/local/pizza3-nxt/trunk/ch.ntb.usb,,_p_apr_pool_t=SCALAR(0xc812a4)
RA layer request failed: PROPFIND request failed on '/local/pizza3-nxt/trunk/ch.ntb.usb': PROPFIND of '/local/pizza3-nxt/trunk/ch.ntb.usb': 405 Method Not Allowed (https://svn.sourceforge.jp)
Please sync mirrored path /sourceforge/pizza-ipa-oss first.
abort_edit: SVN::Delta::Editor=HASH(0x2cb80cc)
DESTROY: SVN::Delta::Editor=HASH(0x2cb80cc)

後半のadd_directoryがおかしいっぽい.

svk2.0.2で解決

2.0.2のpkgで上書きした環境では,こんな感じ.

Auto-merging (8517, 8768) /local/pizza-ipa-oss to /sourceforge/pizza-ipa-oss (base /local/pizza-ipa-oss:8517).
===> Auto-merging (8517, 8525) /local/pizza-ipa-oss to /sourceforge/pizza-ipa-oss (base /local/pizza-ipa-oss:8517).
Merging back to mirror source https://monamour@svn.sourceforge.jp/svnroot/pizza-ipa-oss.
==> got 8517 as copyboundry, add 8517 as boundry as well
set_target_revision: SVN::Delta::Editor=HASH(0x2e77df0),8525
open_root: SVN::Delta::Editor=HASH(0x2e77df0),67
===> /local/pizza-ipa-oss/3.2 => 
===> /local/pizza-ipa-oss/3.2/core => 
===> /local/pizza-ipa-oss/3.2/core/trunk => 
===> /local/pizza-ipa-oss/3.2/core/trunk/plugins => 
===> /local/pizza-ipa-oss/3.2/core/trunk/plugins/ch.ntb.usb => /local/pizza3-nxt/trunk/ch.ntb.usb
to 8525, from 7270, try 8517
open_directory: SVN::Delta::Editor=HASH(0x2e77df0),3.2,_p_void=SCALAR(0xcbee9c),67,_p_apr_pool_t=SCALAR(0xcbebc0)
open_directory: SVN::Delta::Editor=HASH(0x2e77df0),3.2/core,_p_void=SCALAR(0xcc1ea8),67,_p_apr_pool_t=SCALAR(0xcbec38)
open_directory: SVN::Delta::Editor=HASH(0x2e77df0),3.2/core/trunk,_p_void=SCALAR(0xcc1e6c),67,_p_apr_pool_t=SCALAR(0xcbec2c)
open_directory: SVN::Delta::Editor=HASH(0x2e77df0),3.2/core/trunk/plugins,_p_void=SCALAR(0xcc1e48),67,_p_apr_pool_t=SCALAR(0xcbf064)
add_directory: SVN::Delta::Editor=HASH(0x2e77df0),3.2/core/trunk/plugins/ch.ntb.usb,_p_void=SCALAR(0xcc1e30),,-1,_p_apr_pool_t=SCALAR(0xcbf0dc)
A   3.2/core/trunk/plugins/ch.ntb.usb

きちんとディレクトリパスを変換してくれている.

*1:MacPortsを使っている人は,それでも解決できるのかもしれない.使っていないので判らない.