0

Subversion リポジトリを Mercurial に変換しようとしています。

これは私がやったことです:

ここここここの指示に従い、次のことを行いました。

  • インストールされた TortoiseHg 2.9.2 (Mercurial 2.7.2 を使用)

  • Python 2.7をインストールしました(リンクが言うようにPython 2.6ではありません)

  • リポジトリを示すために、ここで指定されているコレクションの代わりにパスを使用しました。

  • リポジトリをホストする Web サーバーをセットアップします (サーバー マネージャー経由で CgiModule がインストールされていることを確認します)。

C:\MyRepository に Mercurial リポジトリをセットアップします。

C:\MyRepository\.hg\hgrc ファイルに追加したことを確認しました

[extensions]
convert =

入力しましたC:\MyRepository>hg convert http://www.myrepository.org:8080/svn --debug --traceback

私はこの出力を得ました:

assuming destination svn-hg
initializing destination svn-hg repository
svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better
Traceback (most recent call last):
  File "hgext\convert\subversion.pyo", line 264, in __init__
  File "hgext\convert\transport.pyo", line 89, in __init__
  File "libsvn\client.pyo", line 1845, in svn_client_open_ra_session
SubversionException: ("Repository moved permanently to 'http://myrepository.org:8080/'; please relocate",
5011)
using http://myrepository.org:8080/svn
sending capabilities command
real URL is http://myrepository.org:8080/
requested URL: 'http://myrepository.org:8080/svn?cmd=capabilities'
sending between command
sending capabilities command
requested URL: 'http://myrepository.org:8080/?cmd=capabilities'
capabilities: none
requested URL: 'http://myrepository.org:8080/?cmd=between&pairs=0000000000000000000000000000000000000000-
0000000000000000000000000000000000000'
http authorization required
realm: VisualSVN Server
user: tolao
password:
http auth: user tolao, password *********
Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 97, in _runcatch
  File "mercurial\dispatch.pyo", line 778, in _dispatch
  File "mercurial\dispatch.pyo", line 549, in runcommand
  File "mercurial\dispatch.pyo", line 869, in _runcommand
  File "mercurial\dispatch.pyo", line 840, in checkargs
  File "mercurial\dispatch.pyo", line 775, in <lambda>
  File "mercurial\util.pyo", line 507, in check
  File "hgext\convert\__init__.pyo", line 283, in convert
  File "hgext\convert\convcmd.pyo", line 497, in convert
  File "hgext\convert\convcmd.pyo", line 56, in convertsource
  File "hgext\convert\hg.pyo", line 241, in __init__
  File "mercurial\hg.pyo", line 112, in repository
  File "mercurial\hg.pyo", line 102, in _peerorrepo
  File "mercurial\httppeer.pyo", line 245, in instance
  File "mercurial\statichttprepo.pyo", line 159, in instance
  File "mercurial\statichttprepo.pyo", line 106, in __init__
  File "mercurial\scmutil.pyo", line 823, in readrequires
  File "mercurial\scmutil.pyo", line 223, in read
  File "mercurial\statichttprepo.pyo", line 42, in read
IOError: [Errno None] HTTP Error 500: Internal Server Error
abort: HTTP Error 500: Internal Server Error

最後に「500 internal server error」が表示された理由がわかりましたか?

4

2 に答える 2

1

あなたが使用しているmercurial convert拡張機能はsvnsync、完全なsvn履歴をローカルに同期し、そこから変換するために使用する必要があると言います。ローカル ソースから変換すると、これが回避され (500 はリモート サーバーから取得されるため、全体の時間が節約されます)。

于 2013-11-01T19:55:09.720 に答える
0

入力した URL が間違っているようです。Subversion リポジトリに正しい URL を入力したかどうかを再確認してください。である必要がありますhttp://www.myrepository.org/svn/<repo-name>

于 2013-11-01T10:16:24.233 に答える