svn import

大量の管理外ファイルをコミットする時、失敗、めんどくさいことになる時があるので以下メモ。
svn既存プロジェクトをbranch, tagへのコピーではなく、新しいプロジェクトリポジトリにコピーする手順

先ずは、新しいリポジトリの作成
svn

# svnadmin create /var/svn/new-project
# chown -R apache:apache /var/svn/new-project

trac

# trac-admin /var/trac/new-project initenv
 Project Name [My Project]> new-project
 Database connection string [sqlite:db/trac.db]>
# chown -R apache:apache /var/trac/new-project

コードをexport → 新しいリポジトリにimportで移す。

$ svn export --force http://old-svn-server/svn/old-project/trunk src

でコードがsrcディレクトリに吐き出される。

importだと大量ファイルの追加でも今のところ失敗の経験がない
repository/target/ にファイルをimport

$ cd src
$ svn import http://new-svn-server/svn/new-project/trunk/ -m 'move src file'

で完了。

ちなみにtracのプロジェクト削除は

# rm -fr /var/trac/new-project

のように、initenvしたディレクトリを一括削除でよいようです。
不安があるので、

# mv /var/trac/new-project /var/trac/bk-new-project
# trac-admin /var/trac/new-project initenv

で終わり。