現在、リモート Subversion リポジトリのクローンを実行しようとしています。リモート リポジトリは非常に低速なリンクでしか利用できないsvnsyncため、ローカルの Subversion リポジトリを作成することにしました。約 30 時間後、Subversion リポジトリのローカル コピーができました。
これを新しいmercurialリポジトリにクローンするにはどうすればよいですか? 問題は、使用している次のフォームのどちらも機能していないfile:///ように見えることです。
$ hg clone svn+file:///home/user/repo repo.hg
abort: repository svn+file:///home/user/repo not found!
$ hg clone file+svn:///home/user/repo repo.hg
abort: repository file+svn:///home/user/repo not found!
$ hg clone file:///home/user/repo repo.hg
abort: repository /home/user/repo not found!
逆に、情報を提供し、その場所に適切なサブバージョン リポジトリがあることを証明しますsvn info file:///home/user/repo 。svn://サーバーをローカルで実行していないため、明らかに意味がありません。
私も試しました:
$ hgimportsvn file:///home/user/repo repo.hg
SVN branch isn't a copy
Finished! You can now pull all SVN history with 'hgpullsvn'.
しかし、hgpullsvn最初の半ダースのリビジョンでのみ成功し、その後エラーになります:
Interrupted, please wait for cleanup!
External program failed (return code 1): hg '--encoding' 'utf-8' 'remove' '-A' 'branches/Company/CVSROOT'
branches/Company/CVSROOT: No such file or directory
(これは、CVSからSubversionへCVSROOTの以前の変換に起因しているようです。これは私の時代よりも前のことです。)
で強制しようとしてもhgsvn、プロトコル指定子を理解できませんか?file:///svn+file:///
注意: 以前に via を複製しようとしhgましhgsvnたが、しばらくしてから via を同期するときにエラーが発生しましたhgsvn。履歴全体のクローンを作成するには非常に時間がかかるためhgsvn、以前にリモートで行ったように、ローカルの Subversion リポジトリのコピーを使用してクローンを作成しました。