2008年7月28日
Software | SVN to FTP
SubversionのリポジトリとFTPサーバ上の指定ディレクトリとを双方向で同期できるツールはないものでしょうか?
クライアントのサーバにファイルをアップする手段がFTPしか提供されておらず、クライアント担当者もファイルを更新して、FTPでアップすることがある。なので、時々最新ファイルが分からなくなって、変なことが起こったりする。
クライアント担当者にSVN使って、さらにFTPでアップしてくださいとはとても頼めないので、上記のようなツールがあれば便利なんだが。
FTPでローカルとリモートの同期を取るツールはあるから、ローカルにSVNワーキングコピーを置いて、FTP同期を実行すればいいのか。
うーん、何かピンと来ない。
FTPサーバからファイルがなくなっている場合、ローカルのワーキングコピーの該当ファイルに対して、svn del を実行してコミットしてくれないとダメだな。
双方向だとちょっと面倒だなあ。
(1) FTP -> svn は ftpmirror か mirror で手元に持ってきて svn_load_dirs.pl を使って commit
(2) その後 checkout dir を svn update
(3) checkout dir を FTP 側に ftpmirror or mirror で put
かなあ。双方向が対象じゃないのがアレだけど、これくらいしか思いつかん。
あ、端折りすぎた。
svn_load_dirs.pl はブランチを掘ってそっち側にimportします。んで、svn update の前にブランチから trunk に svn merge して FTP サーバ側の変更点をマージします。
conflictさえしなければこれですんなりいくと思いますが、私はこの辺手動でやってたので、自動的に、とかはどれくらいトラブルがありうるのかは不明……。
ftpmirrorもsvn_load_dirs.plも初めて知りました。
確かにconflictの可能性を考えると、自動化は相当やっかいですね。
むぅ。。。